install:顾名思义就是“安装”的意思。对于一些程序和依赖库,我们不仅需要对其进行编译链接获得可执行文件以及动态库,更需要将其相应的文件拷贝到对应的位置(也是Makefile文件来执行操作的),这样才能够让其他应用进行调用和查找。例如编译opencv源码的时候,执行make install指令会将一些编译之后的文件拷贝到正确的位置,以...
make可以用来批处理.c或.cpp文件的,它从makefile中读取相应指令,然后编译。 make install 将make 生成的文件安装到系统的对应目录中,比如从github上下载下来一个依赖库的安装包,解压后经过上面几步,该依赖库的对应头文件和库文件就安装到系统中了。 一般来说,大部分的依赖库安装步骤完成后。库的头文件在/usr/loc...
运行configure脚本,就可以生成Makefile文件,然后就可以运行make、make install和make clean。 configure是一个shell脚本,它可以自动设定源程序以符合各种不同平台上Unix系统的特性,并且根据系统叁数及环境产生合适的Makefile文件或是C的头文件(header file),让源程序可以很方便地在这些不同的平台上被编译连接。 这时,就...
cmake是一种跨平台的编译工具,比make更为高级,使用起来要方便的多。cmake主要是编写了cmakelists.txt文件,然后用cmake命令将cmakelists.txt文件转化成make所需要的makefile文件,最后用make命令编译源码生成可执行程序或者共享库(so(shared object))。它的作用和qt的qmake是相似的。 可以如下图理解: configure(配置...
Make、CMake、Make install的关系make是一个常用的构建工具,可以帮助我们编译、链接和打包软件代码。make可以读取一个叫做makefile的文件,makefile中定义了编译和链接的规则,以及需要编译的文件和目标文件等信息。通过执行make命令,make会读取makefile文件并根据其中的
在CMake中,`install`和`cpack`都是用于构建和安装项目的工具,但它们之间有一些重要的区别: 1. **install:** - `install`命令用于将构建生成的文件(可执行文件、库文件、头文件等)复制到指定的目标位置,以便在系统上进行安装。 - 它通常在CMakeLists.txt文件中使用,并且用于指定要安装的文件、目标位置以及可选...
gcc和clang是两个不同的编译器,而make和cmake是搭配编译器来方便用户进行多文件编译而发明的工具。 具体解释 gcc和clang都是编译器。 gcc是GNU Compiler Collection,也称为GNU编译器套件,可以理解为编译器,它可以编译很多种语言:C/C++、FORTRAN、JAVA、OBJC、ADA等。假如我有一个源文件(比如.c文件),我就可以用...
CMAKE_INSTALL_PREFIX变量类似于configure脚本的 –prefix,常见的使用方法看起来是这个样子: cmake -DCMAKE_INSTALL_PREFIX=/usr . INSTALL指令用于定义安装规则,安装的内容可以包括目标二进制、动态库、静态库以及文件、目录、脚本等。 INSTALL指令包含了各种安装类型,我们需要一个个分开解释: ...
我第一次参与Linux C++开发时使用的工具是Make,而后开始切换到CMake,一开始以为CMake是和C语言有关,原来开头的C表示它可以跨平台。 CMake的使用场景: 跨平台编译运行,交叉编译。一般基于CMakeLists.txt文件定义的编译构建规则来生成目标文件和目标库。 CMakeLists.txt样例如下: #cmake最低版本需求 cmake_...