c++ - cmake 没有找到我的 allegro includes 和 llibs 所以编译时错误

标签 c++ cmake allegro

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

相关文章:

c++ - RTOS常用的设计模式(VXworks)

c++ - 访问命名空间外的内部枚举值

c++ - 如何计算一个点(高维空间)相对于由一组点形成的超平面的对称性?

android-studio - 在Android Studio中添加对CMake项目的引用

makefile - 将Makefile转换为CMakeLists,从哪里开始

c++ - 将值从一个类传递到另一个类。单独的 cpp 文件。 C++

c++ - 快板 C++;闪烁位图

c++ - QTabWidget 中的 QTableWidget 函数

c++ - 使用 CMake 进行单元测试,无需重复编译

c++ - 有没有办法在 Allegro 中对位图进行部分着色?