我正在尝试设置代码以使用allegro libray,在mandriva下使用KDEV4,并安装了allegro-dev软件包。然后,在KDevelop中使用allegro函数时,它会显示文档,因此他肯定找到了该库。

但是,当我编译源代码时,我得到了allegro_init()未声明的错误,所以我检查了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一起编译。

最佳答案

那也许您忘记指定include路径或lib路径。
如果您的allegro头文件位于/ usr / local / allegro / include
以及名称为liballegro.a的allegro的lib文件位于/ usr / local / allegro / lib
添加以下脚本也许可以解决您的问题。

INCLUDE_DIRECTORIES(
/ usr / local / allegro / include


LINK_DIRECTORIES(
   / usr / local / allegro / lib


TARGET_LINK_LIBRARIES(游戏
自由图书馆

关于c++ - cmake找不到我的allegro包含和llibs,因此编译时错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8314533/

10-12 03:22