我试图设置我的代码以使用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在包含快板的情况下应该看起来像什么。
那也许您忘记指定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(game
liballegro.a
)
一种可能的方法是这样做。
项目(游戏)
add_executable(game main.cpp)
target_link_libraries(game -l {library})
其中{library}是您需要链接到可执行文件的库的名称。
在您的情况下,我认为应该是libalegro或类似的东西。
我想有更好的方法,但是我对Cmake不太了解。
最诚挚的问候。
实际上我发现这样做的正确方法是使用以下命令向cmake添加CXX标志:
kdev options
并使用'allegro-settings --libs'
将返回包含和.O的正确位置>
和.a预编译
对不起,谢谢,我会支持你们所有人