0

我在 Fedora 19 64 位上将 SDL2 链接到 Eclipse CDT Kepler 内的 C++ 应用程序时遇到问题。这是我所做的:

  • 要安装 SDL2,我运行了这条线sudo yum install SDL2-devel.i686
  • 使用复制粘贴代码创建了一个新的 .cpp 文件,只是为了从这里测试环境
  • 将 SDL2 库添加到 GCC C++ 链接器: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 命令都被识别,它只是链接器)

4

1 回答 1

0

我找到了答案。我正在使用 64 位版本的 Fedora,并尝试使用 32 位库。我假设因为我正在开发一个 32 位应用程序,所以我应该使用 32 位库。但是,当我取消 32 位绝缘并安装 64 位库时,它起作用了。

此外,Linux 上的 eclipse 假定存在“lib”前缀和“.so”后缀,因此当您将它们添加到 eclipse(仅 SDL2)中的链接器时,您不需要它们。

于 2013-08-31T22:16:36.070 回答