我很难将SDL2连接到Fedora 19 64bit上的Eclipse CDT Kepler内部的C ++应用程序。这是我做的:
sudo yum install SDL2-devel.i686
Project Properties -> C/C++ Build -> Settings -> GCC C++ Linker -> Libraries -> Libraries (-l) -> add: libSDL2.so
然后,当我保存并构建程序时,我得到了一个错误的错误:
Invoking: GCC C++ Linker
g++ -o "SDL2 Test" ./src/SDL2\ Test.o -llibSDL2.so
/usr/bin/ld: cannot find -llibSDL2.so
collect2: error: ld returned 1 exit status
make: *** [SDL2 Test] Error 1
然后我对SDL2进行了文件系统搜索,发现libSDL2.so存在于/usr/lib/
和/lib/
中。难道不应该是搜索图书馆的默认位置吗?我错过了什么?
(如果重要的话,在.cpp文件本身内没有错误,所有SDL命令都被识别,它只是链接器)
答案 0 :(得分:0)
我找到了答案。我正在使用64位版本的Fedora,并尝试使用32位库。我认为因为我正在开发一个32位应用程序,所以我应该使用32位库。但是,当我取消绝缘32位并安装了64位库时,它才有效。
此外,Linux上的eclipse假定存在'lib'前缀和'.so'后缀,因此当您将它们添加到eclipse中的链接器(仅SDL2)时,您不需要它们。