菜鸡求问“无法定位程序输入点于动态链接库上”问题
sdl吧
全部回复
仅看楼主
level 7
KiPal__A 楼主
在用SDL2_ttf库出现的问题:
2018年02月08日 13点02分 1
level 7
KiPal__A 楼主
代码如下(环境VisualStudio2015)。不管有没有注释掉绿色部分,都能通过编译。但是如果没有注释掉这部分,运行的时候(我是在编译器里运行的)就会弹出上面的对话框(而且不光是绿色部分的代码,其他的语句也一步都执行不了)。
2018年02月08日 13点02分 2
level 7
KiPal__A 楼主
各种库都是从SDL官网上下的最新版本。
.h放在VC/include/SDL2文件夹里,.lib放在VC/lib文件夹里,.dll放在windows/System32里,选用的也都是x86的库和dll,感觉这里应该没问题?而且如果是这里有问题那SDL_image库上也该出错。
2018年02月08日 13点02分 3
level 13
原因有好几个,说说我碰到的:
这种无法定位错误通常都是32,64位不同dll引起的,再次检查下这个吧x86_64是64位,i686是32位
sdl_ttf调用的zlib.dll不能正常使用了~你注意下它的日期,用image的替换掉它,用时间新的,我使用的时候碰到过这样的问题
建议你dll和程序放在同目录试试,用系统变量也最好自建一个bin目录添加到系统环境变量,放在system里很乱的说.
我放在吧里的mingw64集成包可以直接编译sdl2,的image,tff,mixer三个扩展库,不用设置环境直接运行,你实在搞不定vc的时候可以用我的集成包将就一下
2018年02月09日 00点02分 4
谢了。。。那我倒腾倒腾试试
2018年02月09日 07点02分
大佬名字里那个星星没法艾特,回覆我发楼下了。还是不行。[喝酒]
2018年02月09日 07点02分
level 7
KiPal__A 楼主
@千城真人
我换成x64的库和之后,编译通过不了,并且说x64和x86冲突
这应该表示之前我库没选错吧T_T?
还有,zlib.dll也换成比较新的image里的了。但是还是一样无法找到入口。
2018年02月09日 07点02分 5
@吧主试试。你们都用的VS。我是mingw.你系统是32位?
2018年02月09日 08点02分
回复 千城真人✨ :系统是64位的,不过编译器给的DEBUG环境是“x86”的。我查了下应该是32位的意思?之前学SDL最基础部分的时候也一直用的x86的没什么毛病。
2018年02月09日 08点02分
level 7
KiPal__A 楼主
话说...我电脑系统是WIN8的,有没有什么SDL2不支持WIN8之类的原因?
2018年02月09日 08点02分 6
level 7
KiPal__A 楼主
@小牛_牛sky
向吧主大人求助T_T
2018年02月09日 08点02分 7
level 7
这种一般是链接的时候混用了mingw和vc的,再看看链接参数部分。
2018年02月09日 10点02分 8
我刚入门,编译原理不是很懂,所以编译都是交给VS的编译器的...参数没有自己改过。仅是VS项目属性里面的“链接器→输入→附加依赖项”里添加了SDL2.lib、SDL2main.lib、SDL2_image.lib、SDL2_ttf.lib这四个库(按照教程写的做的)。
2018年02月09日 11点02分
level 7
KiPal__A 楼主
@scc__
2018年02月09日 11点02分 9
不知道能看出来什么不能?[笑尿]
2018年02月09日 11点02分
level 13
不建议放到c盘内部,要不以后换起来很不方便。至于你这个问题,可以做排除法,先使用SDL的基本库,使程序跑起来,然后再一点点添加,看看哪个有问题
2018年02月09日 15点02分 10
在用ttf库之前都是正常的,加了和ttf相关的东西就不行[笑尿]
2018年02月10日 01点02分
回复 KiPal__A :试着换换ttf库,注意版本最好相同
2018年02月11日 00点02分
@小牛_牛sky 意思是每个库的版本号要统一吗😳
2018年02月11日 01点02分
回复 KiPal__A :这个我不怎么清楚,因为我每次下载每个库的都是最新版本的。
2018年02月11日 01点02分
level 13
ttf init初始化成功返回是0么?
2018年02月10日 08点02分 11
看了下,成功是返回0没错。不过我试了下,出错的时候,根本没跑进程序里面,一句代码都没执行。[笑尿]
2018年02月10日 09点02分
level 2
妈耶 我也出现这类问题 ,完全摸不着头脑 楼主你解决问题了没,求分享
2018年02月14日 15点02分 12
环境是vs2017, 用的是SDL2_image-devel-2.0.2-vc, 纯sdl2可可以正常运行,但一用sdl2_image,就出现上面这个错误,求大神帮忙,谢谢 ! @小牛_牛sky
2018年02月14日 15点02分
@Box_myth 没解决,毫无办法气得想自爆
2018年02月14日 16点02分
回复 Box_myth :SDL不仅需要静态库,还需要动态库。
2018年02月15日 03点02分
楼下两位可以试用我发的集成包。解压既用,不需配置。只有60m
2018年02月15日 13点02分
level 9
链接时用的lib与exe找到的.dll版本不一样。。
解决办法一般是把所有有关的DLL与lib都删掉,然后重新下载重新编译。另外DLL不要放sys目录,最好是放exe的目录下。另外VS调试运行时的默认起始目录与exe的目录不是同一个。
我记得SDL2是有静态链接库的,试试用那个呗。
2018年02月17日 10点02分 13
emm...静态链接库是指.lib文件吗?怎么选择用静态链接库而不是动态链接库呀?
2018年02月27日 13点02分
level 13
我今天也遇到了类似的问题。我用的是2.04SDL。今天更新到了2.07。这很大因为32位和64位混用了。我是重新添加了下,就好了
2018年02月21日 14点02分 14
话说,官网上下载ttf库的页面上说ttf库是基于“FreeType2.4.8”这个库搭建的,那是不是还要把这个FreeType也下下来安装呢?(感觉自己已经走投无路了...[狂汗]
2018年02月27日 13点02分
@KiPal__A SDL_ttf下载的应该是有这个库的,
2018年02月28日 01点02分
@KiPal__A 我遇到和你一样的问题了,然后发现你必须要把freetype这个dll放在SysWOW64或者exe路径下啊,要不然又没有lib,你说VS怎么知道有这个东西...
2018年08月24日 05点08分
@小牛_牛sky 膜拜大神,正在学习你用SDL搭建引擎的文章,话说你最近还搞SDL么......
2018年08月24日 05点08分
1