在学习cmake-practice这本书中的demo时,发现有个别没跑通的地方,调了半天,在此记录。
坚守“ 做人真诚 · 做事靠谱 · 口碑至上 · 高效敬业 ”的价值观,专业网站建设服务10余年为成都酒楼设计小微创业公司专业提供企业网站建设营销网站建设商城网站建设手机网站建设小程序网站建设网站改版,从内容策划、视觉设计、底层架构、网页布局、功能开发迭代于一体的高端网站建设服务。以下示例对应于书中/backup/cmake/t2
。
创建好的文件目录树显示如下:
1.1 工程目录下CMakeLists.txtcmake_minimum_required(VERSION 3.10)
Project(HELLO)
add_subdirectory(src bin)
INSTALL(FILES COPYRIGHT README DESTINATION share/doc/cmake/t2)
INSTALL(DIRECTORY doc/ DESTINATION share/doc/cmake/t2)
INSTALL(PROGRAMS runhello.sh DESTINATION bin)
INSTALL(PROGRAMS build/bin/hello/ DESTINATION bin)
其中:
add_subdirectory(src bin) 源文件目录为src 二进制文件目录为bin
除了书中列出来的几个INSTALL
命令,尚需增加下面这一条命令,才可以将目标文件也安装到目标文件夹下:
INSTALL(PROGRAMS build/bin/hello/ DESTINATION bin)
1.2 src文件夹
1.2.1 src文件夹下main.c//main.c
#includeint main()
{printf("Hello World from t1 Main!\n");
return 0;
}
1.2.2 src文件夹下CMakeLists.txtadd_executable(hello main.c)
1.3 runhello.sh./hello
注意这里要修改成目标文件相应的路径。
1.4 其他文件/文件夹其他文件夹COPYRIGHT
,README
以及doc/hello.txt
均为注释文件,可根据自己需要编辑。
mkdir build
cd build/
cmake -DCMAKE_INSTALL_PREFIX=/tmp/t2/usr ..
make
make install
若未通过-DCMAKE_INSTALL_PREFIX
指定路径,默认为:/usr/local
。
进入CMAKE_INSTALL_PREFIX
自定义的安装路径,查看其目录树:
执行命令:
$cd /tmp/t2/usr/bin
$sh runhello.sh
#Hello World from t1 Main!
$ ./hello
#Hello World from t1 Main!
编译和安装目前已经完成了!
参考文献[1] github.com/Akagi201/learning-cmake
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧