cmake 实现交叉编译注意事项
(1)确保安装交叉编译工具安装成功
在终端输入arm-linux-gnueabihf-g++ -v 或 arm-linux-gnueabihf-gcc -v ,能看到相应交叉C编译器和C++编译器的版本信息;
(2)很多文件时,需要采用cmake管理,这时就需要将以往的gcc编译器更改为交叉编译器,执行set 文件CMakeLists.txt中的CMAKE_C_COMPILER 和 CMAKE_CXX_COMPILER变量,也可以通过ADD_DEFINITIONS()指令进行添加;
指定C编译器:SET(CMAKE_C_COMPILER "编译器绝对路径")
指定C++编译器:SET(CMAKE_C_COMPILER "编译器绝对路径")
以上以及实现编译器的调用,以下为自己吐血反思:
由于不习惯看大写英文,对cmake学艺不精,造成了cmake大小写不区分,其实变量和参数是区分大小写的;然后CMAKE_C_COMPILER 如果用小写,那么该编译选项就设置不成功,于是很简单的切换编译器就被自己脑洞打开,加上部分博客的迷惑,什么编译器复制到/opt...、打开cmake gui、tools....,差点遁入泥炭。还好在吃饭时悟出一个道理,camke与编译器之间根本没关系,就是一个指定的过程,cmake是老板,编译器是搬砖的,指导谁去搬砖哪有那么困难,于是跳出博客泥炭。开始在camke上寻找答案,不具体且...的官方文档,蒙圈。最后在cmake实践这本电子书中,从看compiler相关介绍,无意看到依据变量与参数区分大小写。麦嘎!回去一改,ok了
make以后,用 (file 生成可执行文件) 这条指令运行以后,ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV)......,醒目的ARM不禁让人无奈一笑,以此记之,记录被习惯于用小写英文所踩的坑。
cmake 实现交叉编译注意事项的更多相关文章
- 使用 cmake 进行交叉编译
cmake 因为“又”要额外学一门语言而被诟病,但这并不妨碍越来越多私人项目用 cmake 来管理:autoconfig 确实是更好的发行工具,但用 cmake 管理项目显然更加的容易.如果要应用这些 ...
- Cmake的交叉编译
http://www.cmake.org/Wiki/CMake_Cross_Compiling
- CMake交叉编译配置
很多时候,我们在开发的时候是面对嵌入式平台,因此由于资源的限制需要用到相关的交叉编译.即在你host宿主机上要生成target目标机的程序.里面牵扯到相关头文件的切换和编译器的选择以及环境变量的改变等 ...
- c++/cmake /Android NDK 动态链接库交叉编译笔记
项目使用cmake管理,由于项目的需要,核心代码要求跨 Linux/Windows/Android 三平台.Windows和Linux都好说,但Android NDK费了一番功夫还是没有解决.临时的解 ...
- ubuntu下cmake 使用clang
安装llvm.clang sudo apt-get install llvm clang clang命令会在/usr/bin/clang cmake配置交叉编译链 建立linux.toolchain. ...
- CMake最好的学习资料
本文为转载,阅读不友好,请先查看原文:https://blog.gmem.cc/cmake-study-note 收下为原文内容================> 基础知识 CMake简介 CM ...
- 全栈交叉编译X86完成过程经验分享
1 CMAKE的交叉编译配置 主要是C和C++编译器的配置和SYSROOT的配置. set (CMAKE_SYSTEM_NAME "Linux") set (CMAKE_SYSTE ...
- [转]第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV
仅供参考,还未运行程序,理解部分有误,请参考英文原版. 绿色部分非文章内容,是个人理解. 转载请注明:http://blog.csdn.net/raby_gyl/article/details/174 ...
- 腾讯云CMQ消息队列在Windows环境下的使用
版权声明:本文由李少华原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/100 来源:腾云阁 https://www.qclo ...
- CMakefile for Cross-Platform Compling - 1
cmake可以自动侦测目标系统,通常编译时候包含的文件和链接的库都不是本地的文件. Demo #toolchain cmake file SET(CMAKE_SYSTEM_NAME Linux) SE ...
随机推荐
- pyton3 字典排序
1. 字典排序 d={'a':1,'c':3,'b':2} d1={k:d[k] for k in sorted(d)}
- 标量子查询加聚合函数sql改写一
标量子查询的语句: select /*+ GATHER_PLAN_STATISTICS dwtest */ empno, (select count(*) from DEPT1 b where b.i ...
- 关系型数据库,基表Guid 主键设值
在我们开发过程,为了自动适应新增修改,可以对基表,Guid 类型进行如下设置: public bool IsTransient() { return this.Id == Guid.Emp ...
- linux安装EMQ
1.拉取Emqx包 wget https://www.emqx.com/zh/downloads/broker/4.2.14/emqx-centos7-4.2.14-x86_64.rpm 2.安装服务 ...
- pytorch的cuda版本安装
机器上加了RTX3060的卡,cuda装的11.1的版本,cudnn还不是特别清楚装的哪个版本?vs是2017这个版本的.下面来装pytorch.主要参考这个网站的内容"https://bl ...
- Bug_Android error: duplicate attribute. (错误:重复属性。)
error: duplicate attribute. 错误:重复属性. 如报错信息提示,属性重复赋值了 场景:刚拿到项目源码,进行修改前,先设置它的背景色,区分是哪一块内容,但没看到组件已定义了背景 ...
- linux kali 报错Intel VT-x
报错原因:第一次安装虚拟机intel vt-x 处于禁用状态,没有启用 分析思路:找到 Intel vt - x 位置,并打开 .(intel - x在bios) 解决方法: 联想笔记本为例:进入bi ...
- 织梦栏目url的seo处理
织梦本身把栏目静态都放在 a 目录下,一些seoer认为栏目放在根目录下 就是所谓的物理路径更短 更有利于优化 ,第一步 在后台系统设置 保存目录位置 改为 / 这个样整个栏目都是存放在根目录下了但 ...
- JS学习-给Canvas上下文设置样式
给Canvas上下文设置样式 <canvas class="myCanvas" width="700" height="500"> ...
- django:django同步数据库的时候app models表没有成功创建
解决方式: python3 manage.py makemigrations --empty managerbook # managerbook就是你的app名字,此处要写成自己的app名字 pyt ...