linux下用CMake、make工具手动编译程序的步骤、方法
2015-11-21 01:53
686 查看
使用CMake可以方便的创建makefile文件,再配合make软件就可以实现不用IDE手动编译软件的功能。
使用的CMake版本为V3,4,0,make版本为3.81。
1、创建好项目的工程结构、目录。本项目工程如下图所示。
src目录为主程序目录,libproject目录为动态库目录。bin目录存储生成的可执行程序,lib目录存储动态库文件。
2、在每个目录下都创建一个CMakeLists.txt文件。
根目录下的CMakeLists文件包含如下内容:
即主要是添加了两个工程下的子目录。“message”部分内容为测试代码。
主目录下的CMakeLists文件内容如下:
set(EXECUTEBLE****)作用是设置了可执行文件的输出路径
include_directories()作用是添加主程序调用的头文件目录
库工程下的CMakeLists文件内容如下:
set(LIBRARY***)作用是设置库文件的输出路径。
3、代码编写完毕,在编译时首先任意选择一个目录AAA,cd进入该AAA目录。
执行cmake ***,***部分为项目最外层CMakeLists.txt的路径。
执行make。
4、AAA目录存放的是编译生成的中间文件,exe及so库文件均存在bin和lib中。
5、在linux下使用CLion编译程序时发现没办法控制生成文件的路径,此问题上没找到解决方法。
使用的CMake版本为V3,4,0,make版本为3.81。
1、创建好项目的工程结构、目录。本项目工程如下图所示。
src目录为主程序目录,libproject目录为动态库目录。bin目录存储生成的可执行程序,lib目录存储动态库文件。
2、在每个目录下都创建一个CMakeLists.txt文件。
根目录下的CMakeLists文件包含如下内容:
即主要是添加了两个工程下的子目录。“message”部分内容为测试代码。
主目录下的CMakeLists文件内容如下:
set(EXECUTEBLE****)作用是设置了可执行文件的输出路径
include_directories()作用是添加主程序调用的头文件目录
库工程下的CMakeLists文件内容如下:
set(LIBRARY***)作用是设置库文件的输出路径。
3、代码编写完毕,在编译时首先任意选择一个目录AAA,cd进入该AAA目录。
执行cmake ***,***部分为项目最外层CMakeLists.txt的路径。
执行make。
4、AAA目录存放的是编译生成的中间文件,exe及so库文件均存在bin和lib中。
5、在linux下使用CLion编译程序时发现没办法控制生成文件的路径,此问题上没找到解决方法。
相关文章推荐
- Linux Ubuntu mysql 乱码
- centos6.5安装mysql-advanced-5.7.9-linux-glibc2.5-x86_64.tar.gz为mysql service
- linux普通用户免秘钥登陆操作
- 阿里云Linux下搭建FTP(Ubuntu适用)
- centos更换网卡设备名,以及dns相关的问题
- linux 打包解包 压缩解压缩
- Linux 信号处理
- mysql5.6 rpm模式centos安装纪要
- 生产服务器环境最小化安装后Centos 6.5优化配置备忘
- [Kali Linux 2.0] DSL配置问题
- 《coredump问题原理探究》Linux x86版7.10节set相关的iterator对象
- Linux教程【一】
- 使用mutt命令发送邮件(Centos/RHEL) For Gmail
- linux下配置samba共享服务
- 基于linux系统下的SVN服务安装
- Linux禁止普通用户使用su切换到root用户
- Linux时间同步:ntpd,ntpdate
- Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算
- CentOS6.5搭建Java运行环境
- Linux技巧:一次删除一百万个文件的最快方法