导航:首页 > 源码编译 > linux下使用CMake编译程序

linux下使用CMake编译程序

发布时间:2023-06-15 14:01:51

A. linux下cmake编译opencv 为什么这么慢

是你的编译器版本不对,
You
probably
need
to
select
a
different
build
tool.
在点击configure时,会出来一个选择编译器的框,你选一个你机器里有的编译器就可以了。

B. linux里面安装的cmake 软件到底是干什么用的啊

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是
CMake
的组态档取名为
CmakeLists.txt。Cmake
并不直接建构出最终的软件,而是产生标准的建构档(如
Unix

Makefile

Windows
Visual
C++

projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是
CMake

SCons
等其他类似系统的区别之处。
CMake
可以编译源代码、制作程式库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。CMake
支持
in-place
建构(二进档和源代码在同一个目录树中)和
out-of-place
建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。CMake
也支持静态与动态程式库的建构。
“CMake”这个名字是“cross
platform
make”的缩写。虽然名字中含有“make”,但是CMake和Unix上常见的“make”系统是分开的,而且更为高阶。

C. Linux下面cmake命令意义cmake -D CMAKE_BUILD_TYPE=RELEASE

"怎么知道在源代码目录中编译的呢?" 这个是因为后边的那 .. 的缘故, .. 表示上层目录. 那.. 就是<path to the OpenCV source directory>

-D 相当于就是定义, -D 可以理解为告诉cmake 后边我要定义一些参数了, 你每定义一个就在前边加上-D就是了
CMAKE_BUILD_TYPE 这种东西往往是在CMakeList.txt 中定义的, 这个是你要编译的类型, 一般的选择有debug,release, 但是不确定

CMAKE_INSTALL_PREFIX 这个是安装路径.

D. linux 怎么用cmake安装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系统时,使用的默认的安装选项,这一步可以跳过;

3
然后我们来下载mysql的源码安装包,使用下面的命令来下载wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.24.tar.gz下载的时间可能有点漫长,请耐心等待;

4
下载完成后,使用命令: ll 可以查看当前目前下存在 mysql-5.6.24.tar.gz文件然后使用下面的命令解压压缩包:tar -zxvf mysql-5.6.14.tar.gz

然后使用命令: ll 可以查看当前目前下存在 mysql-5.6.24 目录使用命令:cd mysql-5.6.24 切换到 mysql-5.6.24 这个目录下;

上面的步骤完成后,下面我们来开始编译mysql文件了,首先配置编译的相关参数,执行如下命令:cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DSYSCONFDIR=/etc \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \-DMYSQL_TCP_PORT=3306 \-DENABLED_LOCAL_INFILE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci
接着使用 make && make install 来编译并安装mysql也可以分两步来执行:先运行 make ,完成后再运行 make install整个过程大概需要30分钟左右,请耐心等待,这段时间你可以做点别的事

安装完成后,我们还要建立mysql的配置,首先设置mysql的访问权限,使用命令查看是否已经存在mysql用户及用户组,查看用户列表命令:cat /etc/passwd 查看用户组列表命令:cat /etc/group

如果不存在,我们就要创建:添加用户组命令:groupadd mysql添加用户:useradd -g mysql mysql然后来修改之前安装的mysql所在目录的访问的用户及用户组输入命令:chown -R mysql:mysql /usr/local/mysql

然后是初始化mysql配置,切换到mysql安装目录:cd /usr/local/mysql执行初始化配置脚本,创建mysql自带的系统数据库:./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

修改mysql配置文件,输入命令:vi my.cnf然后按键盘的"insert"键,然后通过键盘的方向键来移动光标到要修改的行,添加如下内容:server-id=1 report-port=3306 port=3306 datadir=/usr/local/mysql/datasocket=/var/lib/mysql/mysql.sock
这一步很重要,需要更改该配置文件的所有者:chown -R mysql:mysql /usr/local/mysql/my.cnf否则下面启动mysql服务会报错;

添加mysql到开机启动项,并启动mysql服务( 注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会到你安装的mysql目录找,在本例中就是 /usr/local/mysql/my.cnf。注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会可能会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。 重命名的命令是:mv my.cnf my.cnf.bak)cp support-files/mysql.server /etc/init.d/mysqld #复制脚本 chmod +x /etc/init.d/mysqld #增加可执行权限 chkconfig --add mysqld #增加至sysV服务 chkconfig mysqld on #开机自启动service mysqld start #启动mysql服务netstat -aux|grep mysq #查看启动的mysql进程

添加mysql的环境变量,以方便以后的操作输入密码:vi /etc/profile在文件的底部添加如下内容:PATH=/usr/local/mysql/bin:$PATHexport PATH保存并退出,输入输入命令,使配置立即生效:source /etc/profile

安装好的mysql,默认root帐户帐户为空,下面我们来修改密码输入命令:mysql -uroot 回车后,然后输入命令:SET PASSWORD = PASSWORD('123456');
设置完成后,输入命令:quit; 退出mysql环境;

设置好 mysql密码,需要输入如下命令才能够正确登录进mysql:输入命令:mysql -uroot -p 回车后,会提示你输入密码,输入正确并执行后,会看到以mysql>开始的提示行,在这里你可以输入任何有效的sql查询语句:比如输入:show databases; 来显示所有的数据库,注意后面的分号不能丢失,它标识一行命令的结束。至此,恭喜你,mysql安装成功了。

E. Linux下gcc/g++,make和cmake的区别

gcc是C语言编译器,而g++则是C++语言编译器,虽然gcc命令也可以用来编译C++语言的源码,但是它最终是要调用g++的。
make工具通过你提供的一个名为Makefile的文件,根据Makefile的内容来决定如何编译源文件。而关于make和cmake的区别,你可以理解为make需要使用Makefile,而cmake是产生Makefile的工具。

F. linux下才有CMake编译websocket库生成lib和bin

1、确定arm-linux-gcc装好了,如下:
[root@localhost hello1]# arm-linux-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure --build=i686-pc-

G. 如何在Linux下安装cmake-gui

OpenCV 2.2以后的版本需要使用Cmake生成makefile文件,因此需要先安装cmake;还有其它一些软件都需要先安装cmake
1.在linux环境下打开网页浏览器,输入网址:http://www.cmake.org/cmake/resources/software.html,找到最新版本的位置。一般开放源代码软件都会有两个版本发布:Source Distribution 和 Binary Distribution,前者是源代码版,你需要自己编译成可执行软件。后者是已经编译好的可执行版,直接可以拿来用的。

2.在linux环境下打开终端,输入:
getconf LONG_BIT

如果结果是64表示该系统是linux64位的,如果结果是32则表示系统是linux32位。
3.我现在所用的这台是64位,因此在cmake安装包的网站中选择binary distribution下的linux x86_64下的cmake-3.6.0-Linux-x86 64.tar.gz压缩包,点击,下载。默认下载到了home/DOWNLOAD
4.把下载好的包复制到指定路径,比如/home/bnu,在当前文件夹中打开终端,输入
tar zxvf cmake-3.6.0-Linux-x86 64.tar.gz

在该目录下多了一个解压后的文件夹
5.打开新的终端,输入

该bashrc文件不用提前建立,路径也根据自己的情况改变,我定的路径与解压后的cmake包路径是一致的
6.此时会打开一个文件,找到export PATH=这些行,在这些行的下面另外添加一行,从而设置环境变量
export PATH=$PATH:/home/bnu/cmake-3.6.0-Linux-x86 64/bin

输入完毕保存
7.查看版本,测试是否安装成功:打开终端,输入
cmake --version

结果是:cmake version 3.6.0(安装cmake成功!)

H. linux cmakelist 怎么用

由于调试需要因此研究了一下cmake这个夸平台的编译工具的使用方法.

1.本人的机器为ubuntu 10.04,在连网的情况下直接在终端输入:

[cpp] view plain 在CODE上查看代码片派生到我的代码片
root@zsh-linux:~#apt-get install cmake

安装完毕之后可以在/var/cache/apt/archives看到安装的.deb文件

或者在cmake官网下载cmake for linux

此时有个注意点是建议下载 cmake-2.8.4.tar.gz 而不是

cmake-2.8.4-Linux-i386.tar.gz

下载完成后解压

[cpp] view plain 在CODE上查看代码片派生到我的代码片
root@zsh-linux:/opt#tar -zxvf cmake-2.8.4.tar.gz
然后 cd 到cmake-2.8.4目录下
root@zsh-linux:/opt/cmake-2.8.4#
root@zsh-linux:/opt/cmake-2.8.4# ./bootstrap
root@zsh-linux:/opt/cmake-2.8.4# make
root@zsh-linux:/opt/cmake-2.8.4# make install
安装完毕后查看是否安装成功:
root@zsh-linux:/opt/cmake-2.8.4# cmake --version
cmake version 2.8.4
有以上信息表示安装cmake成功。

2.cmake 的使用

(1)创建一个工程目录文件夹,然后创建一个hello.c

[cpp] view plain 在CODE上查看代码片派生到我的代码片
#include<stdio.h>
int main()
{
printf(“hello,this is my first using cmake project/n”);
return 0;
}
(2)然后创建一个build目录(用于编译生成的相应文件),与hello.c目录同级

(3)编写CMakeLists.txt内容如下:(于hello.c目录同级)

[cpp] view plain 在CODE上查看代码片派生到我的代码片
cmake_minimum_required(VERSION 2.8)
PROJECT(cmake_test)
SET(SRC_LIST main.c)
INCLUDE_DIRECTORIES(/usr/include/glib)
MESSAGE(STATUS "This is BINARY dir "${HELLO_BINARY_DIR})
MESSAGE(STATUS "This is SOURCE dir "${HELLO_SOURCE_DIR})
ADD_EXECUTABLE(hello ${SRC_LIST})
(4)进入build目录输入 cmake ..

[cpp] view plain 在CODE上查看代码片派生到我的代码片
root@zsh-linux:/home/cmake_test/build# cmake ..
若编译成功在build目录下会生成相应文件,其中有个makefile文件

有可能会出现问题:

CMAKE_CXX_COMPILER-NOTFOUND" was not found

解决方法:

[cpp] view plain 在CODE上查看代码片派生到我的代码片
root@zsh-linux:/home/cmake_test/build# apt-get install g++
(可选)cmake -D CMAKE_CXX_COMPLIER=”g++”CMAKE -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=”/usr/local”
(5)输入make 命令执行成功后在build目录下会看到可执行的hello

(6)./hello

输出 hello,this is my first usingcmake project。

注:这只适用于简单的工程,若复杂的工程项目请参考www.cmake.org

阅读全文

与linux下使用CMake编译程序相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:486
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:382
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:779
im4java压缩图片 浏览:362
数据查询网站源码 浏览:151
伊克塞尔文档怎么进行加密 浏览:893
app转账是什么 浏览:163