cmake没有找到我的allegro包括和llibs所以编译时错误
我想设置我的代码使用allegro libray,我使用Mandriva下的KDEV4,我安装了allegro-dev软件包。然后当在KDevelop中使用allegro功能时,它显示文档,所以他肯定会找到该库。cmake没有找到我的allegro包括和llibs所以编译时错误
然而,当我编译我的源我得到allegro_init()
未声明的错误,所以我检查了CMakeLists.txt
文件,我认为这个问题是存在的:
project(game)
add_executable(game main.cpp)
我应该怎么写cmake的发现和链接库?
我有个大致的安装,其中:
- 包括在
/usr/include
- 和库是在
/usr/lib
我安装Allegro 4.4下KDE 4.6.5的Mandriva 2011免费,CMake的2.8 0.4。
如果不是很明显,我的问题是我的CMakeLists.txt应该看起来像包括快捷键一起编译。
这也许你忘了指定包含路径或lib路径。 如果您的快板文件头文件位于/ usr/local/allegro/include 中,并且Allegro的lib文件名为liballegro.a,请在/ usr/local/allegro/lib中找到 添加以下脚本可能会解决您的问题。
INCLUDE_DIRECTORIES( 的/ usr /本地/快板/包括 )
LINK_DIRECTORIES( 的/ usr /本地/快板/ lib中 )
TARGET_LINK_LIBRARIES(游戏 liballegro。一 )
一种可能的方法就是这样做。
项目(游戏)
add_executable(游戏main.cpp中)
target_link_libraries(游戏-l {}库)
其中{}库的名称是,如果你需要的库链接到您的可执行文件
在你的情况,我认为它应该是libalegro或类似的东西。
我想有更好的办法,但我对Cmake并不是很有经验。
此致敬礼。
其实我发现,这样做的正确方法是一个CXX标志添加到使用
K设备选项
的cmake并使用了“快板的设置--libs”即会返回正确的地方的包括与.O
和.A precompilled
对不起你们,THX但我会给予好评大家
能ÿ ou请澄清这一点多一点?谢谢。 –
真的不清楚你是什么意思,以及它是如何实施的。 – tversteeg
命令'allegro-settings --libs'将返回到lib的正确路径 – Qchmqs