文章目录:
- 1、linux 源码安装 cmake 时 可选的参数有哪些
- 2、怎么在cmake的配置文件里加入
- 3、CmakeList文件如何到源代码
- 4、如何使用cmake编译软件项目3
- 5、编译环境cmake+gcc怎么编译mysql源码
- 6、怎么用cmake编译opencv源代码中的例程
linux 源码安装 cmake 时 可选的参数有哪些
/configure就是执行你当前目录下一个名叫configure的脚本,由它生成Makefile,有了Makefile之后,一般来说就可以通过make进行编译,make install进行安装
cmake就是一个与make同级别的编译工具,只不过它依靠的不是Makefile作为编译规则,而是根据CMakeLists.txt来编译的。
怎么在cmake的配置文件里加入
Cmake可以通过让开发者描述build参数在一个简单地可以移植的文本文件里,这个文件能够被cmake用来产生类似于MS Visual Studio和Apple’s Xcode的项目文件,当然也有*NIX下的Makefile。
Cmake给同一平台,多机开发环境的很多帮助:
自动搜索所需要的程序,库,头文件的能力,这包含了环境变量和windows的注册表等信息
能够在源码树外进行build,这个功能在很多UNIX环境下很有益处,这个功能使得开发者可以很轻松的删掉整个build目录,而不会担心误删源码文件
创建复杂自定义命令的能力,比如自动生成Qt的moc文件等等
提供配置选项用于额外的组件,比如几个VTK的库是可选的,那么CMake提供选择build哪些库
能够从一个简单地text文件自动生成workspace和project文件
能够很简单的选择使用静态库还是共享库
自动生成文件依赖,并且支持并行build
当开发跨平台的软件时,CMake还能提供其他特性:
能够测试平台的字节序和其他硬件特性
一整套的build配置文件,能够在多平台上很好地工作
支持在多平台上创建共享库
最近CMake项目的进展是拥有了软件测试支持——CTest,此外还有个CPack,是设计用来支持跨平台分发软件的,能够创建本地安装文件,比如可以被NSIS,RPM,Cygwin等使用。
此外还有支持了XCode和VS10。加入了交叉编译功能,CMake能够很好地处理host系统和目标系统的区别。
CmakeList文件如何到源代码
CMakeList 是 CMake 程序的配置文件,用来跨平台生成工程文件的一个开源软件
CMakeList 不需要破译啊,一般开源工程都带有 CMakeList 文件,CMake 则需要自己独立安装
然后配置好 CMake 之后,就可以生成工程的工程文件了 。
如何使用cmake编译软件项目3
1. 在主程序所在目录的CMakeLists.txt中定义要编译的主程序和输出的可执行文件名:
#定义主程序名称
add_executable(输出的可执行文件名称 源文件列表)
#定义链接库
target_link_libraries(输出的可执行文件名称 链接库1 链接库2 ...)
2.在库文件所在目录中的CMakeLists.txt中告诉cmake将其所有库文件编译成动态库:
#通过set命令自定义变量LIB_SRC包括那些源文件,这些文件将编译到动态库
set (LIB_SRC
libsrc1.cpp
libsrc2.cpp
libsrc3.cpp
)
#将上述文件编译到库中
add_library (库名称 SHARED ${LIB_SRC})
#定义库的输出位置, 如果在根目录下的CMakeLists.txt中已经定义,此处可注释掉。
set(LIBRARY_OUTPUT_PATH 具体的目录位置)
编译环境cmake+gcc怎么编译mysql源码
方法/步骤
1
在安装mysql数据库服务器前,确保你的linux系统是可以连接网络的,下面我们将通过源码方式来安装mysql首先通过putty登入进你的Linux系统,确保系统中已经安装的gcc c++ 等编译环境,因为mysql从5.5版本开始是使用cmake编译的,如果三个环境都没安装,可以使用下面的命令进行安装:yum -y install make gcc-c++ cmake bison-devel ncurses-devel
2
查找系统里是否已经安装了mysql数据库的相关组件,使用命令:rpm -qa | grep mysql 进行查找,如果查找到,可以使用下面命令进行强制卸载:rpm -e --nodeps 包名
如果你当时在安装Linux系统时,使用的默认的安装选项,这一步可以跳过;
怎么用cmake编译opencv源代码中的例程
你机子的某个盘里建一个新的文件夹,如我这里的完整路径是:D:\CMake\CMake-Study\HelloCMake; 然后在HelloCMake文件夹里建立一个HelloCMake.cpp文件,里面的代码如下: #include int main() { std::cout
动态库:#通过set命令自定义变量LIB_SRC包括那些源文件,这些文件将编译到动态库set (LIB_SRC libsrc1.cpp libsrc2.cpp li
e bison-devel ncurses-devel2查找系统里是否已经安装了mysql数据库的相关组件,使用命令:rpm -qa | grep mysql 进行查找,
K的库是可选的,那么CMake提供选择build哪些库能够从一个简单地text文件自动生成workspace和project文件能够很简单的选择使用静态库还是共享库自动生成文件依赖,并且支持并行build当开发跨平台的软件时,CMake还能提供其他特性:能够测