【发布时间】:2017-06-04 22:49:36
【问题描述】:
我正在尝试构建 SDL 以与 Eclipse 一起使用。我正在尝试删除此链接器错误:
开始编译
21:15:53 **** Incremental Build of configuration Debug for project CMD ****
Info: Internal Builder is used for build
g++ "-IC:\\MinGW\\include\\SDL2" -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\CMD.o" "..\\src\\CMD.cpp"
g++ -o CMD.exe "src\\CMD.o" -lmingw32 -lSDL -lSDL2main -lSDL2
错误:
c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe:找不到-lSDL collect2.exe:错误:ld 返回 1 退出状态 21:15:54 构建完成(耗时 1s.36ms)
most pertinent SO archive source I researched 似乎对我的问题没有可操作的答案,尽管它有完全相同的问题/错误: 标题 - 产生相同的错误消息:
c:/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../../mingw32/bin/ld.exe:找不到-lSDL。
如果您点击作者的“解决方案”来解决与我相同的错误,我不清楚他是如何解决的。
有什么帮助吗?
【问题讨论】:
-
您的
libSDL2.a和/或libSDL2.dll.a在哪里?您传递了标头的路径(带有-I编译器标志),但没有传递到库目录的路径(在链接阶段-L标志)。 -
libSDL2.a 和 libSDL2.dll.a 都在 c:/MinGW/lib 中找到
-
好吧,我不小心阅读不好,你到底为什么链接
SDL和SDL2?它们不兼容。 -
你搞定了:我有几个错误,通过使用以下补丁解决了它们,只留下了我们正在处理的错误:选择项目项目>属性 C/C++ 构建>设置工具设置>GCC C 编译器包含路径 (l)>"/usr/include/SDL" C/C++ Build>Settings Tool Settings>GCC C Linker Libraries (l)>"SDL" Apply ...然后构建项目并运行...但现在我明白了我使用的是 SDL 而不是 SDL2。我是否应该重新安装 SDL2 并使其兼容,然后查看项目是否会链接?
-
再一次,您不能在一个二进制文件中同时使用 SDL 和 SDL2。
标签: c++ eclipse gcc linker sdl