我有一个依赖于Allegro的C项目,它在本地构建得非常愉快。我一直在尝试为它设置Travis-CI集成,并遇到了与Allegro依赖关系的问题。具体来说:
- 没有
liballegro4-dev
伪包:所以我已经将.travis.yml
更改为参考特定的liballegro4.2-dev
包而不是 - 我的CMake库检测在Travis-CI中不起作用:我已经从我的
CMakeLists.txt
中注释了check_library_exists(alleg al_trace "" HAVE_ALLEGRO)
来解决这个问题 - 在Travis-CI中,我得到构建错误,这表明我需要引用各种X11库
我的问题是:
- 有没有人成功地在Travis-CI上构建了一个基于allegro的C项目?如果是这样,你能告诉我你的
- Allegro的有效库检查是什么?
- 为什么Travis-CI上的包依赖于X11库,而当我在本地(Linux)机器上构建时似乎没有这种依赖?
.travis.yml
文件给我一些灵感吗?这是我最近一次失败的Travis-CI构建的链接,这是另一个构建,它显示了我引用的一些与x11相关的失败。
回答我自己的问题:在CMakeLists.txt
中的target_link_libraries
声明中添加额外的库X11
, Xcursor
, Xxf86vm
和Xpm
可以解决问题。我认为@CássioRenan建议我在Travis-CI上使用静态库而不是共享库听起来是正确的。