我正在尝试设置我的代码以使用 allegro 库,我在 mandriva 下使用 KDEV4,我安装了 allegro-dev 包。然后在 KDevelop 中使用 allegro 函数时它会显示文档,所以他肯定找到了库。
然而,当我编译我的源代码时,我得到了 allegro_init()
not declared 错误,所以我检查了 CMakeLists.txt
文件,我认为问题出在这里:
project(game)
add_executable(game main.cpp)
我应该向 cmake 写入什么来查找和链接库?
我有一个常规安装位置:
- 包含在
/usr/include
- 和库在
/usr/lib
我在 KDE 4.6.5 mandriva 2011 免费安装了 allegro 4.4,cmake 2.8.4。
如果不是很明显,我的问题是我的 CMakeLists.txt 在包含 allegro 的情况下应该是什么样子。
最佳答案
那可能是您忘记指定包含路径或库路径。 如果你的 allegro 的头文件位于/usr/local/allegro/include ,和allegro的名为liballegro.a的lib文件位于/usr/local/allegro/lib 添加以下脚本也许可以解决您的问题。
INCLUDE_DIRECTORIES(
/usr/local/allegro/include
)
LINK_DIRECTORIES(
/usr/local/allegro/lib
)
TARGET_LINK_LIBRARIES(game
liballegro.a
)
关于c++ - cmake 没有找到我的 allegro includes 和 llibs 所以编译时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8314533/