文章目录
编译流程
cmake ..
make j8
sudo make install
CMakeList 的基本写法
https://blog.csdn.net/u010122972/article/details/78216013
https://blog.csdn.net/afei__/article/details/81201039
添加一个子目录并构建该子目录
https://www.jianshu.com/p/07acea4e86a3
不但编译自身,还要编译子目录里面的文件。
add_subdirectory (source_dir [binary_dir] [EXCLUDE_FROM_ALL])
Cpp编译结束, 如何运行编译后的文件 ?
编译成功肯定会有可执行文件, 执行这个可执行文件就行;
可执行文件 在 CMakeList.txt中 ,add_executable(hello main.c)
命令 表明了 可执行文件名 hello 。
cmake 生成可执行程序exe,并指定安装目录
这个过程 是通过 install 命令 实现的。最常用 如下代码 install(TARGETS bin_test RUNTIME DESTINATION ${PROJECT_SOURCE_DIR}/install/usr/bin)
。 即 在 ${PROJECT_SOURCE_DIR}/install/usr/bin 这个路径下生成 bin_test 可执行文件。
OpenCV版本指定
- 显式指定 Opencv3 版本
find_package(OpenCV 3 REQUIRED )
- 通过指定Opencv安装位置,
set(OpenCV_DIR /home/ubuntu/ccl/opencv-4.0.0/build)
find_package(OpenCV REQUIRED )
Linux下 自动编译 和 运行c++文件的shell脚本
[参考链接]
shell 基础必看
echo 仅用于字符串的输出
echo $name 或者 echo ${name} 使用变量,(推荐使用大括号版)
Linux 脚本执行编译cmake
参考链接
下面是 run.sh 的示例行
#!/usr/bin/env bash
rm -rf build/
mkdir build
cd build/
cmake ..
make
sudo make install
./HelloWorld # 运行可执行文件,这里这个是随便起的名字,反正就是你前面生成的
增加文件的权限: chmod u+x run.sh