我正在尝试设置代码以使用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/