好的,所以我试图在一个CodeLite项目中链接SFML,但是没有成功。所以我做了什么:
这是构建日志:C:\WINDOWS\system32\cmd.exe /C ""E:/Program Files (x86)/CodeBlocks/MinGW /bin/mingw32-make.exe" -j4 SHELL=cmd.exe -e -f Makefile"" "----------Building project:[ Test - Debug ]----------" mingw32-make.exe[1]: Entering directory 'F:/Dropbox/Programming/OpenGL/Test' "E:/Program Files (x86)/CodeBlocks/MinGW/bin/g++.exe" -o ./Debug/Test @"Test.txt" -L. -LF:/Dropbox/Programming/SFML/SFML-2.3.2x86/lib sfml-graphics sfml-window sfml-audio sfml-network sfml-system g++.exe: error: sfml-graphics: No such file or directory g++.exe: error: sfml-window: No such file or directory g++.exe: error: sfml-audio: No such file or directory g++.exe: error: sfml-network: No such file or directory g++.exe: error: sfml-system: No such file or directory mingw32-make.exe[1]: *** [Debug/Test] Error 1 Test.mk:78: recipe for target 'Debug/Test' failed mingw32-make.exe[1]: Leaving directory 'F:/Dropbox/Programming/OpenGL/Test' mingw32-make.exe: *** [All] Error 2 Makefile:4: recipe for target 'All' failed ====1 errors, 0 warnings====
我使用的是CodeLite 9.0.9和SFML-2.3.2x86。
发布于 2016-01-31 15:26:29
好的,所以我终于成功地修改了这个库,比如:-lsfml-graphics-s;-lsfml-window-s;-lsfml-audio-s;-lsfml-network-s;-lsfml-system-s;-lopengl32;-lfreetype;-ljpeg;-lwinmm;-lgdi32;-lopenal32;-lws2_32
发布于 2016-01-31 10:19:59
1。“从SFML2.2开始,当静态链接时,您还必须将SFML的所有依赖项都链接到您的项目。这意味着,如果您正在链接sfml-window-s或sfml-window-s-d,则还必须链接opengl32、winmm和gdi32。这些依赖库中的一些可能已经列在“继承的值”下,但是自己再添加它们不会造成任何问题。“如果您是静态链接的,并且应该链接其他库,则应该使用这. 。
“当链接到多个SFML库时,确保按正确的顺序链接它们,这对GCC非常重要。规则是依赖于其他库的库必须放在列表的第一位。每个SFML库都依赖sfml-system,sfml-图形也取决于sfml窗口。因此,这三个库的正确顺序是:sfml-图形,sfml-窗口,sfml-系统-系统-如屏幕截图所示。”
3.“链接到与配置相匹配的库是很重要的:"sfml-xxx -d”表示Debug,"sfml-xxx“用于发布。糟糕的组合可能导致崩溃。”从您的构建日志中可以看到,您正在使用发行版库(那些没有-d后缀的库)构建您的项目,然后您必须将链接库更改为sfml图形-s-d/etc。
如果上面的建议不起作用,那么你就设置了错误的搜索路径。祝好运
https://stackoverflow.com/questions/35105931
复制相似问题