makefile可以让项目的一切都在自己掌控下,过去一直用codeblocks,因为他有一个小tool叫做cbp2make可以自动导出makefile,但是codeblocks不够friendly, 所以想找一个在eclipse下的plugin来做这个事情,, 配置使用很简单,如下面两篇文章介绍, 具体的使用细节还在摸索中, 其实autotools最大的好处就是不同的系统之间linux可以自如的切换,化解了makefile对系统的依赖关系,这是很重要的,因为你不晓得说不定什么时候你们公司就会要兼容到哪个不同的系统  但是后来发现autotools使用起来很复杂,和我的初衷比较不一致,所以就换成了cmake, 所以现在的流程就是cmake管理工程,eclipse编辑工程。


cmake和eclipse有多种配合使用的办法, http://www.vtk.org/Wiki/CMake%3aEclipse_UNIX_Tutorial , 作者比较推荐第一种, 就是先在cmake结构的基础上构造一个工程,然后利用cmake自己的一个强大功能,那就是把这个项目导出成eclipse的默认工程。

cmake -G"Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug /directory

这里我选择了out of source的使用方式,也就是代码和编译的中间文件分离,这样的好处就是代码看起来很清楚,不好的就是debug可能找不到源文件,比较一下还是in source 的方式更方便开发,



CMake的常用命令

CMake /directory           这样就可以直接生成makefile


CMake 链接库示例:

include_directories(${PROJECT_SOURCE_DIR}/include)
set(SRC_LIST main.cpp)
add_executable(test ${SRC_LIST})
find_library(LIB_GEN NAMES xml PATHS ../../../lib NO_DEFAULT_PATH)
target_link_libraries(test ${LIB_GEN})



http://www.vtk.org/Wiki/CMake%3aEclipse_UNIX_Tutorial

http://blog.csdn.net/dbzhang800/article/details/6329314

http://www.cnblogs.com/respawn/archive/2012/07/16/2593030.html

http://wiki.eclipse.org/Linux_Tools_Project/Autotools/User_Guide


Logo

更多推荐