交叉编译指的在一个平台上生成另一个平台上的可执行代码。很多时候,开发的代码可能并不只是在开发主机的平台上执行,比如在Windows下开发的程序,希望能够在Linux、或者MacOS下执行;或者有时候目标平台根本就没有操作系统,没有对应的编译器,所以必然需要进行交叉编译。交叉编译笔者在工作中经常会遇到。笔者开发使用的宿主机一般都是Linux(Ubuntu),交叉编译的目的基本都是为了将程序代码编译成
软硬件环境宿主机:Ubuntu 16.04 64bit开发板:tq2440OpenCV: 2.4.3其他:arm-linux-g++ 4.4.3 / arm-linux-gcc 4.4.3CMake 2.8.10.2CMake-gui 3.5.1所需包下载:http://pan.baidu.com/s/1jHMSRlGCmake的安装OpenCV 2.2以后版本需要使用Cmake生成makefil
交叉编译器和Makefile交叉编译器交叉编译器介绍arm交叉编译工具链交叉编译器安装编译过程Makefile 交叉编译器交叉编译器介绍嵌入式开发一般都是在x86平台下开发,而编译出来的软件要在arm平台上跑,所以需要交叉编译器,交叉的意思就是在一个架构上编译出另一个架构的代码。arm平台一般资源有限,不适合做开发。arm交叉编译工具链1.1 arm-none-eabi 即 ARM archit
在所有CMakelist.txt的最顶部加入如下语句(子目录中也需要加): # 指定交叉编译的目标系统,此处为arm-linux-gnueabihf,依情形设置SET(CMAKE_SYSTEM_NAME arm-linux-gnueabihf) set(triple arm-linux-gnueab
原创
2021-05-27 14:56:57
3203阅读
CMake进行高端开发前言学了这个,CMake可以帮助你干一些高级事儿,比如进行嵌入式开发,如对交换机进行开发。交叉编译特别适合目标平台无法运行软件开发环境的情况交叉编译不仅仅使用在嵌入式开发等情况,在所开发的软件只能依赖特定版本时,也是有用的,比如要求依赖libfcl-0.5以上版本。 CMake进行高端开发前言参考学习记录概述工具链文件设定系统设定编译选项寻找库,软件和其他文件系统探察编译检查
转载
2024-02-27 21:07:07
103阅读
交叉编译时候如何配置连接库的搜索路径
交叉编译的时候不能使用本地(i686机器,即PC机器,研发机器)机器上的库,但是在做编译链接的时候默认的是使用本地库,即/usr/lib,/lib两个目录。因此,在交叉编译的时候,要采取一些方法使得在编译链接的时候找到需要的库。 首先,要知道:编译的时候只需要头文档,真正实际的库文档在链接的时候用到。 (这是我的理解,假如有不
很多时候,我们在开发的时候是面对嵌入式平台,因此由于资源的限制需要用到相关的
转载
2015-10-19 10:17:00
206阅读
2评论
本文通过一个简单的示例,演示如何在 CMake 工程中添加交叉编译的配置,实现编译不同硬件平台的可执行文件。所有代码均可在 [getiot/linux-c](https://github.com/getiot/linux-c/tree/main/hello) 仓库找到。
原创
2022-08-01 10:42:52
2452阅读
一、交叉编译1.交叉编译案例:hello.c#include <stdio.h>
int main(int argc, char** argv)
{
if (argc >= 2)
printf("Hello, %s!\n", argv[1]);
else
printf("Hello, world!\n");
return 0;
}
# CMake交叉编译OpenHarmony
## 介绍
在本篇文章中,我将向你介绍如何使用CMake工具进行交叉编译OpenHarmony操作系统。作为一名经验丰富的开发者,我将帮助你了解整个流程并教会你如何实现这一目标。
## 什么是CMake?
CMake是一个开源的跨平台构建工具,它可以用于自动生成构建脚本。使用CMake,你可以编写一个通用的构建脚本,然后根据特定平台和编译器生成相应
原创
2024-01-16 02:24:18
264阅读
嵌入式开发板开发记录 文章目录嵌入式开发板开发记录前言一、编译前准备1.安装Cmake2.安装交叉编译工具二、cmake-gui配置1.编译工具选择1.编译配置生成三、开始编译1.make2.报错解决总结 前言OpenCV交叉编译记录,正常在开发板上直接编译也是可以的,但是开发板很容易会nospace,编译速度也不快,所以选择交叉编译。本地平台:Ubuntu18.04 目标平台:飞凌嵌入式 Ope
转载
2024-03-25 09:35:50
1268阅读
点赞
OpenJDK是Java平台的开源化实现。编译自己的OpenJDK即编译出自己版本的jdk。一般初学的时候,都是直接在网上下载jdk,里面有bin目录,它是别人编译好的版本,我们直接拿来用。我这来记录我编译OpenJDK的经历。第一步,下载OpenJDK和一个JDK 下载的这个JDK起引导作用,我这编译的OpenJDK12,所用的JDK是11。提取码ekoz第二步,创建OpenJDK和JDK放置的
转载
2023-12-16 07:31:03
121阅读
生成OpenCV工程需要用到CMake,所以第一步需要下载CMake软件,下载链接:CMake下载目前最新的版本是3.7.1,这里选择下载Platform下的Windows win32-x86 ZIP,大小21M:把下载完成的压缩包解压出来就可以了,不用安装。打开解压后的路径下…\cmake-3.7.1-win32-x86\bin\cmake-gui.exe,会弹出如下CMake窗口:接下来就可以
转载
2024-06-12 22:47:16
410阅读
在PC上开发时,我们可以直接在PC端编译、链接、运行,但是到了嵌入式环境,由于嵌入式的设备资源(CPU、RAM)无法和PC端相比,如果项目比较复杂,很难甚至不可能在设备上编译。因此,我们一般会在PC端编译成ARM环境下可以运行的可执行文件,然后再放到设备上运行。这就是交叉编译的基本思想,在PC端编译,在设备上运行,期间所使用到的工具我们称为“交叉编译工具链”。目录1、下载交叉编译工具链2、使用 a
2019-12-14 10:51:06CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。本文主要如何利用cmake实现交叉编译。在Linux中有在X_86上和ARM上运行的可执行程序。对应的就有不同的编译方式,X_86上通常都是gcc编译代码,ARM上通常都是交叉编译的方式。下面来介绍cmake在linux交叉编译的使
转载
2024-03-14 06:29:03
516阅读
使用CMake来编译OpenCV,以匹配自己使用的VS版本。 主要有两步: CMake编译OpenCV源码得到OpenCV.sln工程文件。 VS编译OpenCV.sln。 以最新的cmake-3.16.0-rc1-win64-x64、opencv-3.4.8、opencv_contrib-3.4.
转载
2019-11-13 12:20:00
415阅读
2评论
本篇概览作为一名java程序员,如果想在Ubuntu16桌面版上使用OpenCV4的服务,可以下载自己所需版本的OpenCV源码,然后自己动手编译java库和so库,这样就可以在java程序中使用了本文详细记录OpenCV4的下载和编译过程,然后写一个java程序验证是否可以成功调用OpenCV4的库,总的来说分为以下几步:安装必要应用配置java环境配置ANT环境下载源码编译前的配置编译安装验证
使用CMake来编译OpenCV,以匹配自己使用的VS版本。
主要有两步:
CMake编译OpenCV源码得到OpenCV.sln工程文件。
VS编译OpenCV.sln。
以最新的cmake-3.16.0-rc1-win64-x64、opencv-3.4.8、opencv_contrib-3.4.8为例,编译适合VS2013的x64版本。
【下载软件】解压后我都放到了D盘根目录
1、cmake-
转载
2020-07-31 15:02:00
971阅读
2评论
VS2017+OpenCV4.5.1opencv4.5.1可以用SURF/SIFT等,主要也是为了使用gpu模块进行加速。我电脑上装的cuda版本为10.0/cudnn版本为7.6.5.32。cuda/cudnn的版本决定了opencv/opencv_contrib是否能编译gpu模块成功。step1:下载opencv和opencv_contrib这里主要贴个opencv_contrib的下载链接
转载
2024-04-14 13:39:59
1239阅读
windows下Cmake+VS编译OpenCV源码这里我使用的是VS2015 update3,默认大家电脑里都有VS了。1.下载Cmake点击Cmake官网的下载界面,点击下载对应版本的Cmake就可以了。下载完压缩包直接解压,无需安装。 点击开文件夹可以看见:最后一步就是把Cmake路径下的bin文件夹路径加入到电脑的环境变量。2.下载OpenCV源码OpenCV在图像领域所占的地位就不用多提
转载
2024-06-27 13:53:11
173阅读