GNU:一个计划/运动,目标是创建一套完全自由的操作系统
GPL:GNU通用公共许可协议,广泛应用的自由软件许可证,linux发行时选择了GPL
GCC:GNU C Compiler,早期的C编译器,后来集成更多的编译器,GCC就代表 the GNU Compiler Collection
G++:GCC的C++编译器,g++ 是将 gcc 默认语言设为 C++ 的一个特殊的版本,链接时它自动使用 C++ 标准库而不用 C 标准库
编译器选择:根据后缀名,*.c调用C编译器,*.cpp调用C++编译器
编译C++程序:# g++ demo.cpp #或者 gcc -xc++ -lstdc++ -shared-libgcc demo.cpp(根据参考链接所述,现在使用gcc会自动进行编译器的选择)
https://www.zhihu.com/question/20940822/answer/16667772
cmake -h
cmake:生成makefile
make:生成目标文件
make install:将可执行文件、第三方依赖包和文档复制到正确的路径,可能需要权限
cmake构建makefile文件时,可指定build生成路径、src源文件路径(包含CMakeLists.txt)、install路径:
-B:指定build路径,缺省则默认生成在当前路径下,若build文件夹已经cmake过,则可以省略-B参数制定build路径
-S:制定src源文件路径,-S可省略,默认为设定src路径,如常用的在build文件夹下使用cmake ..
-DCAMKE_INSTALL_PREFIX=/location/:指定make install路径,默认是/usr/local???
-DCMAKE_BUILD_TYPE=Debug / Release:构建目标类型
autotools:GNU构建系统,是利用脚本和make程序在特定的平台上构建软件的过程
三部曲:./configure -> make -> make install
cmake:autotools替代方案,简化配置过程,跨平台构建
三部曲:cmake .. -> make -> make install
https://blog.csdn.net/qq_34924407/article/details/82917391
http://www.ttlsa.com/mysql/configure-to-cmake/
catkin_make等价于:
catkin_make install等价于
catkin_make特定功能包:
catkin_make恢复所有功能包:
catkin文件组织将cmake中间文件生成到build下,目标文件生成到devel / install下
cmake将中间文件和目标文件均生成到build下,install可指定
aux_source_directory(<dir> <variable>):在目录中查找所有源文件
https://www.jianshu.com/p/64da7a5f2c64
- target_include_directories
指定目标包含的头文件路径
- cmake:target_*中的public、private、interface
https://zhuanlan.zhihu.com/p/82244559
- target_include_directories与include_directories
include_directories:是一个全局包含,向下传递。如果某个目录的CMakeLists.txt使用了该指令,其下所有的子目录默认包含
target_include_directories:
https://zhuanlan.zhihu.com/p/82244559
路径指向当前正在处理的源目录(CMakeLists.txt所在目录)
cmake语法,用于字符串的比较,相同返回true
https://zhuanlan.zhihu.com/p/102955723
调用系统环境变量
待续。。。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)