在linux下使用CMake构建应用程序
第六行,使用命令 TARGET_LINK_LIBRARIES 指明可执行文件 main 需要连接一个名为Test的链接库 .
第二步,子目录中的 CmakeLists.txt 在子目录 src 中创建 CmakeLists.txt.文件内容如下: 清单 4. 目录 src 中的 CmakeLists.txt
在该文件中使用命令 ADD_LIBRARY 将 src 目录中的源文件编译为共享库. 第三步,执行 cmake 至此我们完成了项目中所有 CMakeLists.txt 文件的编写,进入目录 step2 中依次执行命令 “cmake .” 和 “make” 得到结果如下: 图3. 处理多源文件目录时 cmake 的执行结果
在执行 cmake 的过程中,解析目录 step2 中的 CMakeLists.txt ,当程序执行命令 ADD_SUBDIRECTORY( src ) 时进入目录 src 对其中的 CMakeLists.txt 进行解析.
在工程中查找并使用其他程序库的方法 在开发软件的时候我们会用到一些函数库,这些函数库在不同的系统中安装的位置可能不同,编译的时候需要找到这些软件包的头文件以及链接库所在的目录以便生成编译选项.例如一个需要使用博克利数据库项目,需要头文件db_cxx.h 和链接库 libdb_cxx.so ,现在该项目中有一个源代码文件 main.cpp ,放在项目的根目录中. 第一步,程序库说明文件 在项目的根目录中创建目录 cmake/modules/ ,在 cmake/modules/ 下创建文件 Findlibdb_cxx.cmake ,内容如下: 清单 5. 文件 Findlibdb_cxx.cmake
文件 Findlibdb_cxx.cmake 的命名要符合规范: FindlibNAME.cmake ,其中NAME 是函数库的名称.Findlibdb_cxx.cmake 的语法与 CMakeLists.txt 相同.这里使用了三个命令: MESSAGE , FIND_PATH 和 FIND_LIBRARY . 命令 MESSAGE 会将参数的内容输出到终端. 在项目的根目录中创建 CmakeList.txt :
|
|||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |