【发布时间】:2012-07-24 14:24:16
【问题描述】:
我在代码块中有一个非常基本的 C++ 项目,它使用 glfw.so 和其他两个库,这些库从另一个项目 libHorde3D.so 和 libHorde3DUtils.so 编译为 .so 文件。后者放置在项目根文件夹中,而 glfw 位于我的/usr/lib 中(我认为)。
我已将项目文件夹添加到代码块中的链接器和编译器搜索路径。我已将libHorde3D.so 和libHorde3DUtils.so 以及glfw.so 添加到链接器设置选项卡中的链接库中。根据之前关于stackoverflow的类似问题,我认为这已经足够了。
但是当我按下构建时:
ld cannot find -lHorde3D.so
ld cannot find -lHorde3DUtils.so
ld cannot find -lglfw.so
我的系统是 Arch Linux 64,我使用的是 GCC。
我还尝试在/usr/lib 和/usr/lib64 中对libHorde3D.so 和libHorde3DUtils.so 进行bopying,但没有成功。
附:所有搜索路径都跨 Debug 和 Release 目标复制。
【问题讨论】:
-
您不应将“.so”作为链接器标志。像 -llibrary 一样使用它..
-
旁注:设置 CodeBlocks 选项以在项目构建期间显示完整的命令行,这有助于解决此类问题。
标签: c++ linux codeblocks ld archlinux