cmake

什么是CMake相当于'configure --prefix = DIR && make all install'?

天大地大妈咪最大 提交于 2020-02-27 06:49:54
我做 cmake . && make all install cmake . && make all install 。 这有效,但安装到 /usr/local 。 我需要安装到不同的前缀(例如,到 /usr )。 什么是安装到 /usr 而不是 /usr/local 的 cmake 和 make 命令行? #1楼 可以省略接受的答案中的“:PATH”部分。 这种语法可能更令人难忘: cmake -DCMAKE_INSTALL_PREFIX=/usr . && make all install ...在 这里 的答案中使用。 #2楼 请注意,在CMake和 Autotools中, 您不必总是在配置时设置安装路径。 您可以在安装时使用 DESTDIR (另请参见 此处 ),如下所示: make DESTDIR=<installhere> install 另请参阅 此问题 , 该问题 解释了DESTDIR和PREFIX之间的细微差别。 这适用于分阶段安装,并允许将程序存储在与其运行位置不同的位置,例如 /etc/alternatives 通过符号链接。 但是,如果您的程序包是可重定位的,并且不需要通过configure阶段设置的任何硬编码(前缀)路径, 则 可以跳过它。 所以代替: cmake -DCMAKE_INSTALL_PREFIX=/usr . && make all

linux下将Python3解释器交叉编译移植到android平台

我是研究僧i 提交于 2020-02-27 04:49:19
已知资料: http://www.srplab.com/cn/files/others/compile/cross_compiling_python_for_android.html Cross Compiling Python for Android https://m.2cto.com/kf/201511/448789.html 在arm上使用python-2.7.10 上述资料主要是在移植python2.7版本,具体移植python3的版本资料并不多。 起初打算移植python3.5.6版本,但是发现python3.5.6的移植性似乎不好,在解决完python主程序和libpython3.5.so的编译后,所有扩展均因为各种找不到c函数或者找不到python的对象或函数名之类的问题无法编译。后决定编译python3.7.1版本。记录如下。 编译记录: 源码从python.org下载。 首先编译Linux版本的Python3.7.1并安装。我选择安装到~/opt目录下,以加入环境变量的形式替代系统使用的python3.5。命令如下: ~/projects tar xvf ~/Download/Python-3.7.1.tar.xz -C . ~/projects cd Python-3.7.1 ~/projects/Python-3.7.1 mkdir build.pc ~

为什么C ++编译需要这么长时间?

北城余情 提交于 2020-02-27 04:12:29
与C#和Java相比,编译C ++文件需要很长时间。 编译C ++文件所需的时间比运行普通大小的Python脚本要长得多。 我目前正在使用VC ++,但它与任何编译器都是一样的。 为什么是这样? 我能想到的两个原因是加载头文件和运行预处理器,但这似乎不应该解释为什么它需要这么长时间。 #1楼 大多数答案都有点不清楚,提到C#总是运行较慢,因为在编译时只执行一次C ++执行的操作,这种性能成本也会受到运行时依赖性的影响(需要加载更多的东西才能运行)运行),更不用说C#程序将始终具有更高的内存占用,所有这些都导致性能与可用硬件的能力更密切相关。 对于解释或依赖于VM的其他语言也是如此。 #2楼 在较大的C ++项目中减少编译时间的一种简单方法是制作一个* .cpp包含文件,其中包含项目中的所有cpp文件并进行编译。 这会将标题爆炸问题减少一次。 这样做的好处是编译错误仍将引用正确的文件。 例如,假设你有a.cpp,b.cpp和c.cpp ..创建一个文件:everything.cpp: #include "a.cpp" #include "b.cpp" #include "c.cpp" 然后通过make everything.cpp编译项目 #3楼 构建C / C ++:真正发生了什么,为什么需要这么长时间 软件开发时间的相当大一部分不用于编写,运行,调试甚至设计代码

基于ClIon的CMake、MinGW与Cygwin配置简易指南

怎甘沉沦 提交于 2020-02-26 23:26:03
Clion是捷克公司JetBrains出品的JB全家桶之中主要面向C、C++的集成开发环境。JB家的Pycharm和IDEA是其最为出名的两款,而我也是从Pycharm入的坑。因为近期想再把C捡起来复chong习xin复xue习xi,在网上看了好些相关IDE推荐,最后还是选择Clion。 Clion与CodeBlocks等不太一样的地方在于,官方允许基于MinGW、Cygwin与VisualStudio三种工具链进行设置,在此仅对前两种进行介绍。 硬件配置:Dell游匣笔记本7559,CPU:i5-6300HQ,内存:8G。 系统配置:Win10专业版1803 软件配置:JetBrains Clion 2018.1.3 MinGW 2013-10-26 Cygwin 2.10.0 CMake3.11.4 首先安装CMake、Cygwin与MinGW。 CMake安装 其中CMake是最容易也最傻瓜的。搜索官网,下载对应平台的版本,这里建议直接下载.msi的安装版而非.zip的绿色版,从而免除手动配置环境变量。简单地说就是勾选同意协议、将CMake添加到面向所有使用者的系统路径(Add CMake to the system PATH for all users)。安装路径可根据自己需要修改。随后next即可。 正确安装后,在命令行输入cmake会弹出如下界面: MinGW安装

视觉slam g2o 编译出现 Cmake Error:By not providing “FindG2O.cmake” in CMAKE_MODULE_PATH错误

廉价感情. 提交于 2020-02-26 13:33:59
在学习slam十四讲的时候,成功安装编译了g2o,但是在运行g2o_curve_fitting代码时出现错误,提示如下: 在这里插入图片描述 方法一: 这时需要在cmakelist文件中添加几行代码,添加代码如下: list(APPEND CMAKE_MODULE_PATH /XXX/g2o/cmake_modules) set(G2O_ROOT /XXX/g2o) find_package( G2O REQUIRED ) include_directories( ${G2O_INCLUDE_DIRS} "/usr/include/eigen3" ) /XXX/g2o 是你的g2o安装目录,如果不知道自己的安装录取,可以在lunix主文件夹中搜索g2o,找到后,右键属性,即可看到父文件夹,那就是安装目录了。 在这里插入图片描述 改完之后内容为 list(APPEND CMAKE_MODULE_PATH /home/linzhiwei/g2o/cmake_modules) set(G2O_ROOT /home/linzhiwei/g2o) find_package(G2O REQUIRED) include_directories(${G2O_INCLUDE_DIRS} "/usr/include/eigen3" ) 方法二: 检查一下你的${PROJECT_SOURCE_DIR

CentOS8 编译安装 Mysql5.7.29

别说谁变了你拦得住时间么 提交于 2020-02-26 11:55:10
安装必要的运行环境 yum install -y gcc gcc-c++ bzip2-devel bzip2-libs bison perl-Module-Install.noarch libtirpc-devel ncurses ncurses-devel bison cmake yum install ncurses ncurses-devel bison cmake -y yum install libtirpc-devel -y 检查cmake 是否安装 rpm -qa|grep cmake 解压boost cd /usr/local wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz tar xzf boost_1_59_0.tar.gz mv boost_1_59_0/ boost 下载mysql cd /usr/local/src/ wget "https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.29.tar.gz" 或者 wget "https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.29.tar.gz" tar

SimpleAmqpClient库编译

若如初见. 提交于 2020-02-26 10:19:41
丑话说在前头:(可选) 1.OpenSSL库的编译教程资源: 链接:https://pan.baidu.com/s/1TswsUfMQ782pJoAKG7rppQ 提取码:5r8m 2.编译Boost库:(这里编译64位) 1)bootstrap.bat 2)b2 stage --toolset=msvc-14.0 --without-python --stagedir="E:\boost_1_72_0\vc14" --link=static runtime-link=shared threading=multi address-model=64 debug release 3)把源码下的boost文件夹放到,E:\boost_1_72_0\include\下。 4)可以选择配置环境变量BOOST_ROOT,E:\boost_1_72_0。 3.编译rabbitmq-c库: rabbitmq-c库编译: https://my.oschina.net/feistel/blog/3156337 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 1

Cmake和NdkBuild方式链接交叉编译的动态库-->杂记

断了今生、忘了曾经 提交于 2020-02-26 03:24:48
前提介绍: a.加上extern "C"后,会指示编译器这部分代码按C语言(而不是C++)的方式进行编译 b.https://developer.android.google.cn/ndk/guides/android_mk:官方Android.mk介绍指南 c.看动态库的依赖库有哪些: $ndk64Readelf -d libplay.so d.看动态库定义的方法:$ndkNm64 -D libplay.soo e.compile 4 steps :(gcc xxx.c -o xxx) gcc -E xxx.c -o xxx.i 预处理 gcc -S xxx.i -o xxx.s 汇编 gcc -c xxx.s -o xxx.o 机器代码编译 gcc -C xxx.o -o xxx.a 链接(为了可执行) run it : ./xxx.a or ./xxx EScC export zzm="zengzeming" export ndkClang="/zengzeming/ndk/android-ndk-r21-beta2/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang" export ndkLink="--sysroot=/zengzeming/ndk/android-ndk

clion搭建linux C++开发环境

人盡茶涼 提交于 2020-02-26 03:10:33
第一步 yum install -y gcc g++ gcc-c++ make automake texinfo wget 第二步 Cmake 安装 wget https://cmake.org/files/v3.13/cmake-3.13.4.tar.gz tar -xf cmake-3.13.4.tar.gz cd cmake-3.13.4 ./configure make && make install ln -s /usr/local/bin/cmake /usr/bin/cmake 第三步 termcap 安装 wget https://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz tar -xf termcap-1.3.1.tar.gz cd termcap-1.3.1 ./configure make && make install 第三步 gdb 安装 wget http://mirrors.ustc.edu.cn/gnu/gdb/gdb-7.9.tar.xz tar -xf gdb-7.9.tar.xz cd gdb-7.9.tar.xz ./configure make && make install ln -s /usr/local/bin/gdb /usr/bin/gdb 来源: oschina 链接: https

Android 使用SO库

别说谁变了你拦得住时间么 提交于 2020-02-25 23:34:57
使用Android Studio调用so 开发. 创建项目 省略...... 创建jniLibs目录 在main中创建一个jniLibs文件夹 look,然后把so拷贝进去: 创建JNI 的API:com.robot.msttsdemo.JniApi.java package com.robot.msttsdemo; public class JniApi { //javah -classpath . -jni com.robot.msttsdemo.JniApi public static native int tts(String text,String out\_file\_path,String engine\_cfg\_data_path); } 生成com_robot_msttsdemo_JniApi.h文件,这个命令是在当前目录:src/main/java/ javah -classpath . -jni com.robot.msttsdemo.JniApi /\* DO NOT EDIT THIS FILE - it is machine generated */ #include <jni.h> /\* Header for class com_robot_msttsdemo_JniApi */ #ifndef _Included_com_robot