c++ - SFML2 应用程序找不到共享对象

标签 c++ sfml

我从 git(调试、发布、静态和动态)下载并编译了 SFML2,我使用以下方法从他们的教程中成功编译了一些示例代码:

g++ main.cpp -lsfml-graphics -lsfml-window -lsfml-system

当我尝试运行二进制文件时出现问题,它找不到任何共享对象(libsfml-graphics.so.2、libsfml-window.so.2 等)

我检查过它们存在于/usr/local/lib 中。

我错过了什么吗?

如果相关,使用 Fedora 17 x64 和 g++ 4.7.2

最佳答案

/usr/local/lib通常不被动态链接器搜索。将其添加到 LD_LIBRARY_PATH .

或者,将动态链接器配置为始终搜索 /usr/local/lib也许/usr/local/lib64 .这通常是通过将路径添加到 /etc/ld.so.conf 来完成的。文件,并运行 ldconfig .

有时还会出现 32/64 位问题,即尝试运行 32 位可执行文件但只存在 64 位库,反之亦然。运行 file <somtething>.sofile <your-executable>以确定它们的架构。通常,32 位库转到 <whatever>/lib和 64 位的到 <whatever>/lib64 , 但有时他们最终会出现在错误的地方。

关于c++ - SFML2 应用程序找不到共享对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13518689/

相关文章:

c++ - SFML 绘图居中文本

c++ - 如何修改 Visual Studio 2015 预定义宏?

c++ - 在c中生成解析树

c++ - 无法识别 Allegro 原生对话

c++ - 将引用传递给函数是否可以进行内存管理?

c++ - 无法让 SFML 音乐工作

c++ - 为什么我不能使用一些 GLFW 方法

c++ - 在C/C++中有什么方法可以在编译时生成变量名吗?

c++ - 传递参数为 `const` 的奇怪效果

c++ - 我在 SFML : How does it rotate member shapes correctly on its own? 中的 'body' 类