
正文
linux命令cmake Linux命令大全
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Cmake命令之find_library介绍
该命令用于查找库(动态库或者静态库),当构建依赖于第三方库/系统库,可以使用该命令来查找并使用库(Cmake中有另外一个命令 find_package ,能获取库的更多信息,具体可以参考 Cmake命令之find_package介绍 )
通过一个例子来看下基本的使用,假设我们目录和文件树如下,:
我们在 mylib 中生成最终的库 libmymath.a ,然后在顶层的 CMakeLists.txt 中查找这个库文件,几个文件的具体内容如下:
在 ./mylib/ 下执行 cmake . 和 make 以便生成库 libmymath.a ,然后在 ./ 目录下执行 cmake . 和 make ,得到可执行文件 test ,运行 test 的结果为:
库的搜索路径分为两大类: 默认搜索路径 和 附加搜索路径 。
默认搜索 路径包含 cmake 定义的以 CMAKE 开头的一些变量(例如 CMAKE_LIBRARY_ARCHITECTURE 、 CMAKE_PREFIX_PATH 、 CMAKE_LIBRARY_PATH 、 CMAKE_FRAMEWORK_PATH )、标准的系统环境变量(例如系统环境变量 LIB 和 PATH 定义的路径)、系统的默认的库安装路径(例如 /usr 、 /usr/lib 等);
附加搜索路径 即 find_library 命令中通过 HINTS 或 PATHS 指定的路径;
1) 通过命令行使用 -D 指定的 CMAKE_XXX_PATH 变量,也就是形如 cmake . -DCMAKE_XXX_PATH=paths 的格式。其中 CMAKE_XXX_PATH 包含如下几个:
CMAKE_PREFIX_PATH :指定搜索目录的前缀,如果前缀有多个,需要以 分号分割的列表 方式提供,该变量默认为空,一旦该变量非空,那么会搜索该变量提供的目录,以及 ${CMAKE_PREFIX_PATH}/lib ;例如 CMAKE_PREFIX_PATH=A;B ,那么 find_library 会从 A 、 B 以及 A/lib 、 B/lib 中搜索库是否存在;
CMAKE_LIBRARY_ARCHITECTURE :如果该变量被设置,那么会搜索目录 ${CMAKE_PREFIX_PATH}/lib/${CMAKE_LIBRARY_ARCHITECTURE} ;
CMAKE_LIBRARY_PATH :指定 find_library 的库查找目录,默认值为空,多个值时需要以分号分割列表指定;
CMAKE_FRAMEWORK_PATH *:指定 macOS 的框架作为搜索路径。
2) 通过在 环境变量 中指定 CMAKE_XXX_PATH 变量,例如在 window 的环境变量中增加 CMAKE_XXX_PATH (以 ; 分割多个路径)、 Linux 中 shell 配置文件中添加(以 : 分割多个路径)。用法和 cmake -D 指定类似,例如在我的机器中( macOS ),在 .zshrc (我的命令行配置文件)中增加 export CMAKE_LIBRARY_PATH="/XXX/……/mylib" ,即可在将该目录加入到搜索路径中。
3) HINTS 选项指定的路径。
4) 系统环境变量指定的目录,默认是 LIB 和 PATH 指定的路径。例如在 PATH 中指定库搜索目录;
也可以通过 find_library 中的 PATHS ENV 环境变量名称 ( cmake 中使用环境变量名称的格式为 $ENV{环境变量名称} )来指定从哪个环境变量名称中获取路径,例如定义一个 TESTPATH 环境变量并赋值为 ./mylib ,并在 find_library 命令中指定使用该环境变量:
5)跟当前系统相关的平台文件路径,一般来说指的是当前系统安装软件的标准目录,不同的操作系统对应的路径有所不同。 camke 中 find_library 与此相关的也有如下几个, CMAKE_SYSTEM_XXX_PATH 变量,这些:
CMAKE_SYSTEM_PREFIX_PATH :指定安装目录的前缀,例如在 Windows 下的 /XXXX/Program Files , Linux 下的 /usr 或 /usr/local 等。 find_library 命令会搜索这些前缀目录,也会以这些目录加上 lib 进行搜索,例如搜索 /usr/local/lib ;
CMAKE_SYSTEM_LIBRARY_PATH :默认是当前系统的标准目录,不建议修改它;例如在我的系统,这个变量的值是 /usr/lib/X11 ;
CMAKE_SYSTEM_FRAMEWORK_PATH : macOS 框架路径,默认是当前系统的标准目录,不建议修改它;例如在我的系统,这个变量的值包含了路径 /Library/Frameworks ;
6) PATHS 选项指定的路径。
相关问答
Q1: 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 这个是安装路径.
Q2: Linux 如何运行benchmark循环跑
Linux 如何运行benchmark循环跑如下
benchmark中包含了跑benchmark的源码benchncnn.cpp,感兴趣的可以先看一下里面的内容。在Linux的文件根目录下,新建一个build文件夹并进入,当然也可以不叫build,随便你自己起。mkdir build cd build进入之后就可以进行编译了,编译之后在build文件夹下会生成一个叫benchmark的文件夹,之后的工作会在这里进行。编译用的是cmake,这里如果有问题的话可以注意一下cmake的版本,我用的版本是3.12.3。具体命令如下:cmake .
make -j8这里cmake编译实际上是要根据上一层文件夹的CMakeLists.txt的文本来的,这里的..其实就是表示的上一层文件夹。 Make -j后面的数字是开几个核,根据自己电脑的实际情况来。执行完成之后就可以看到build里有了benchmark的文件夹。
入这个文件夹,可以看到一个benchncnn的可执行文件已经编译好了,运行这个可执行文件就可以测试模型的速度。但是这个可执行文件默认的是找到当前文件夹下的param格式的文件。
所有自带的模型文件都在ncnn根目录下的benchmark的文件夹中,把里面所有的param文件都拷贝到现在的benchmark文件夹,然后执行如下命令./benchncnn 4 2 0 -1
第一个数字表示测试次数,第二个表示开的线程数(这一点ncnn做的不错),最后一个数字-1表示只测cpu。NCNN交叉编译到rk3288(armv7架构)和rk3399(armv8架构)的方法。
Q3: 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 下载的时间可能有点漫长,请耐心等待;
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安装成功了。
Q4: linux更新opengl驱动命令
配置好了Ubuntu下的c++环境,gcc以及g++可用。2.使用eclipse for c+做OpenGL开发 步骤一:在ubuntu终端下运行以下命令,安装opengl所需要的库文件$ sudo apt-get
第二步, 运行驱动程序,切换到“硬件检测”选项卡,就可以查看本机电脑显卡驱动程序的版本以及具体显卡型号啦;
第三步,通过切换到“驱动程序”选项卡,选择最新版本的显卡驱动进行安装。
除显卡驱动版本较低外,显卡硬件较差也有可能导致无法正常运行,模拟器电脑显卡配置要求情况如下,对此只得升级显卡硬件或购买新的高性能显卡硬件设备来运行模拟器。
第二种:
第一步,右键点击我的电脑(win10用户则是此电脑)—管理,
第二步,在弹出来的计算机管理窗口里面找到设备管理器-显示适配器;
第三步,打开显示适配器之后,右键点击对应的显卡,然后点击更新驱动程序;
第四步,在点击更新驱动程序之后,会弹出如下窗口,点击找到搜索驱动程序进行更新即可。
linux命令cmake的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Linux命令大全、linux命令cmake的信息别忘了在本站进行查找喔。







