-
2021-11-19 19:37:25
说明:
本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。
QQ 群 号:513683159 【相互学习】
内容来源:
openssl官网
wiki—openssl编译构建、OpenSSL库的交叉编译(arm和mips)常规构建过程,根据需要可查看前篇添加编译选项。
Linux下构建过程
Step1.openssl下载
执行命令:
git clone https://github.com/openssl/openssl.git
Step2.交叉编译器下载
根据自己主板下载对应交叉编译器。
Step3.运行配置文件
执行命令:
./Configure no-asm shared --prefix=/usr/local/cross_compile --cross-compile-prefix=/home/xsndz/Desktop/arm-openwrt-linux/bin/arm-openwrt-linux- --openssldir=/usr/local/cross_compile/ssl '-Wl,-rpath,/etc/libs'
结果:生成Makefile文件
选项说明:(根据实际情况选择并修改对应参数)
①no-asm
:不使用汇编程序加速编译过程,因为汇编程序对arm格式不支持。
②shared
:即生成静态库也生成动态库,no-share
不生成动态库,仅有静态库
③--prefix=
:指定OpenSSL安装的顶部目录
④--openssldir=
:指定OpenSSL配置文件的目录,以及默认的证书和密钥存储库
⑤--cross-compile-prefix=
:指定交叉工具链,添加指定的前缀到binutils组件。若为相对路径,需配置对应的环境变量。
⑥'-Wl,-rpath,/etc/libs'
:指定链接器运行时查找库的路径。Step4.查看并修改Mafile文件
1. PLATFOR= linux-x86_64修改为arm 2. 删除-m64编译选项 可通过/m64进行查找
Step5.编译
执行命令:
make -j8
结果:生成crypto、ssl的静态库和动态库、apps中生成openssl可执行文件等。Step6.查看可执行文件是否格式正确
进入apps文件夹下,执行命令:
readelf -h openssl
可查看Machine: ARM
为刚才设置的arm平台Step7.将动态库与可执行文件传入主板中
根据实际情况传入对应主板的文件路径。
动态库:libssl.so.3
、libcrypto.so.3
可执行文件:openssl
根据实际情况可使用软链接来指定动态库使之兼容。Step8.运行可执行文件
若前面设置了
'-Wl,-rpath,/etc/libs'
选项,则可执行运行可执行文件。
若未设置,可能会没找到对应的文件可通过配置环境变量使之找到动态库,如:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/etc/libs
Step9.openssl的帮助选项
可查看openssl的命令,可执行:
./openssl -help
Step10.查看版本
./openssl version OpenSSL 3.1.0-dev (Library: OpenSSL 3.1.0-dev )
其他自行测试
其他选择
1️⃣交叉编译器的其他设置方法:
(1)Step3.中--cross-compile-prefix=/home/xsndz/Desktop/arm-openwrt-linux/bin/arm-openwrt-linux-
可修改为--cross-compile-prefix=arm-openwrt-linux-
前提是:虚拟机需配置对应的环境变量,如:export PATH=$PATH:/home/xsndz/Desktop/arm-openwrt-linux/bin/
,
环境变量设置有多种方法这边不做介绍,目的就是为编译器能够在执行时找到对应的软件包。
(2)也可在配置时,直接通过编译参数传入CC、CXX等
脚本的环境变量,设置交叉编译器的相关选项。
其他可查看openssl篇——3.编译构建相关描述了解更多构建信息更多相关内容 -
python和它的第三方库交叉编译过程
2017-03-07 10:07:06python库和其第三方库,在嵌入式linux操作系统上交叉编译的步骤 -
Linphone移植——交叉编译过程指导
2017-06-03 14:12:36针对linphone的交叉编译过程及过程中问题的解决方法进行指导 -
python和其第三方库交叉编译过程
2017-03-06 13:29:20 -
Frp交叉编译过程记录
2018-11-15 13:57:12相比gcc,Go语言的交叉编译超乎想象的简单,直接安装Go语言编译器,默认安装即可. 设置三个环境变量,各个平台配置方式自行百度 GOARCH=arm GOOS=linux CGO_ENABLED=0 其中GOARCH代表处理器,GOOS代表系统平台.CGO_...frp下载地址https://github.com/fatedier/frp
相比gcc,Go语言的交叉编译超乎想象的简单,直接安装Go语言编译器,默认安装即可.
设置三个环境变量,各个平台配置方式自行百度
GOARCH=arm
GOOS=linux
CGO_ENABLED=0
其中GOARCH代表处理器,GOOS代表系统平台.CGO_ENABLED是是否启动CGO.交叉编译里面一般不启用即可.
我这里属于用在arm开发板上,所以设置了处理器为ARM.
其中需要说明的是,这里的ARM是指的是所有arm处理器的linux系统,也就是即使arm处理器型号不一样,程序也是照样能运行的(这一点简直不要太爽).
把源码下载解压后进去目录,使用make即可开始编译,编译会提示许多包找不到.
没关系,我已经把所有的包都取了下来,在文章末尾留下载链接.
将下载好的依赖包根据提示放在对应目录,window下面可以直接将我上传的依赖包放在Go编译器安装目录下的Src目录中.如下图
放好后在make/gmake后会报一下错误
process_begin: CreateProcess(NULL, cp -rf ./assets/static ./bin, ...) failed
没关系,可以直接执行
go build -o bin/frps ./cmd/frps
编译服务端
go build -o bin/frpc ./cmd/frpc
编译客户端
window版本记得加一个.exe.
依赖包下载链接https://download.csdn.net/download/zc1239044730/10786456
-
Qt5.4.2 交叉编译器4.5.1 交叉编译过程文档
2017-05-02 11:14:03利用arm-linux-gcc 4.5.1 交叉编译器编译Qt5.4.2的过程文档 -
Qt5.10.1的交叉编译过程
2019-07-25 20:28:07尽管网上有很多Qt交叉编译的教程,但自己操作的时候还是遇到很多问题,主要是环境配置的问题以及对qt中configure的不熟悉。写下来以防自己忘记。 主机:unbuntu 16.04 qt版本:5.10.1 目标版:全志R11 编译工具链...尽管网上有很多Qt交叉编译的教程,但自己操作的时候还是遇到很多问题,主要是环境配置的问题以及对qt中configure的不熟悉。写下来以防自己忘记。
主机:unbuntu 16.04
qt版本:5.10.1
目标版:全志R11
编译工具链:全志SDK包中的交叉编译工具arm-openwrt-linux-gcc。
要交叉编译的话还是需要配置qmake.conf,到./qt-everywhere-src-5.10.1/qtbase/mkspecs/linux-arm-gnueabi-g++目录下面的qmake.conf进行修改。我的修改如下
# # qmake configuration for building with arm-linux-gnueabi-g++ # MAKEFILE_GENERATOR = UNIX CONFIG += incremental QMAKE_INCREMENTAL_STYLE = sublib #默认显示方式是linuxfb QT_QPA_DEFAULT_PLATFORM = linuxfb #设置使用ARM高级特性的标志,根据自己的架构来定 QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a -lts QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a -lts include(../common/linux.conf) include(../common/gcc-base-unix.conf) include(../common/g++-unix.conf) # modifications to g++.conf QMAKE_CC = arm-openwrt-linux-gcc QMAKE_CXX = arm-openwrt-linux-g++ QMAKE_LINK = arm-openwrt-linux-g++ QMAKE_LINK_SHLIB = arm-openwrt-linux-g++ # modifications to linux.conf QMAKE_AR = arm-openwrt-linux-ar cqs QMAKE_OBJCOPY = arm-openwrt-linux-objcopy QMAKE_NM = arm-openwrt-linux-nm -P QMAKE_STRIP = arm-openwrt-linux-strip load(qt_config)
主要的就是把编译工具换成交叉编译的工具。
接下来在./qt-everywhere-src-5.10.1/下配置configure。可以使用一个.sh脚本。贴出我的配置表
./configure -v \ -prefix /usr/local/arm_qt-5.10.1-release \ -extprefix /home/ljw/install/arm_qt5.10.1_test \ -xplatform linux-arm-gnueabi-g++ \ -sysroot /home/sc/lichee/out/banjo-R11_pref1/staging_dir/toolchain \ -opensource \ -debug \ -strip \ -confirm-license \ -no-opengl \ -no-pch \ -shared \ -no-xcb \ -no-eglfs \ -no-opengl \ -nomake examples \ -qt-zlib \ -linuxfb \ -skip qt3d \ -skip qtactiveqt \ -skip qtandroidextras \ -skip qtcanvas3d \ -skip qtcharts -skip qtconnectivity \ -skip qtdatavis3d \ -skip qtdeclarative \ -skip qtdoc \ -skip qtgamepad \ -skip qtgraphicaleffects \ -skip qtlocation \ -skip qtmacextras \ -skip qtnetworkauth \ -skip qtpurchasing \ -skip qtquickcontrols \ -skip qtquickcontrols2 \ -skip qtremoteobjects \ -skip qtscript \ -skip qtscxml \ -skip qtsensors \ -skip qtserialbus \ -skip qtspeech \ -skip qttools \ -skip qtvirtualkeyboard \ -skip qtwayland \ -skip qtwebchannel \ -skip qtwebengine \ -skip qtwebglplugin \ -skip qtwebsockets \ -skip qtwebview \ -skip qtwinextras \ -skip qtxmlpatterns \ -skip qtx11extras \
主要讲解几个参数,可以通过.configure --help查看所有的参数设置,本人对这些也没有全部了解,只讲解几个
-prefix 目标板的引用路径。 这个路径有两个作用,一个是指定目标机的Qt库路径,也就是说,当你把Qt库部署到目标机时,需要把Qt库拷贝到这个路径下,Qt程序就可以自动找到库。第二个是,如果你没有指定extprefix, install的时候会把Qt库部署到sysroot+prefix这个路径下。
-extprefix 设置编译完成之后,make install所安装的地方-xplatform 这个参数十分重要,决定了交叉编译时所使用的平台,之前我们在linux-arm-gnueabi-g++/目录下修改了qmake.conf。所以理所当然选用这个。
-sysroot 这个参数笔者并没有弄清它具体的作用。这里写出笔者自己的理解,当交叉编译时需要用到交叉编译的库,而非主机自带的库,该参数指定默认搜索库的根目录,比如这里笔者将该参数设置为/home/sc/lichee/out/banjo-R11_pref1/staging_dir/toolchain,查找库默认路径时会在/home/sc/lichee/out/banjo-R11_pref1/staging_dir/toolchain/下查找, 而不是/usr/include 和 /usr/lib 中搜索头文件和库。在没有设置该选项时各种报错缺少库,当然可以自己指定路径,但是这样子比较麻烦,设置之后一遍编译通过。
在./qt-everywhere-src-5.10.1/执行.sh脚本。之后再~/.profile文件中将自己交叉编译器的路径添加到PATH中,source ~/.profile。
之后就是make,make install。
讲述下可能遇到的问题:
warning: libc.so, needed by /usr/tslib/lib/libts.so, not found (try using -rpath or -rpath-link)
原因:该系列的问题是交叉编译器找不到对应的库。
解决方法:添加库,或者在.sh中指定库路径然而在静态编译的时候,会出现
error adding symbols: DSO missing from command line
原因:在高本版的ld链接器中(大概是>=2.22) 当fun()函数在一动态库A中,有一个静态库B编译的时候显示链接了A,编译自己的可执行程序时用到了静态库中fun()函数,链接器不会自动的递归查找导致报错
该问题的解决方法按照网上说的话是添加动态库路径,但是我这边好像没啥效果,有解决的话请大神指教。接下里就是交叉编译所用的一些有助于差错的命令。
查看当前库中有哪些库包含此函数
grep -REn "函数名" ./*查看库中是否此函数
nm xxx.so | grep 函数名查看可执行文件依赖的动态库
readelf -d "可执行文件" -
linphone arm交叉编译过程记录
2019-11-02 17:37:17Linphone交叉编译过程: 在centos7上交叉编译海思版本linphone (origin/release/4.2)使用过程: 经常需要执行命令: find . -name “*.sh”|sudo xargs chmod +x 配置命令: ./configure --host=arm-linux --...Linphone交叉编译过程:
在centos7上交叉编译海思版本linphone (origin/release/4.2)使用过程:经常需要执行命令:
find . -name “*.sh”|sudo xargs chmod +x配置命令:
./configure --host=arm-linux --prefix=/home/app_comm/arm-compile/armlib/ CC=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-gcc编译使用命令:
./prepare.py desktop-raspberry -DENABLE_OPENH264=ON -DENABLE_WEBRTC_AEC=OFF -DENABLE_UNIT_TESTS=OFF -DENABLE_MKV=OFF -DENABLE_FFMPEG=ON -DENABLE_CXX_WRAPPER=OFF -DENABLE_NON_FREE_CODECS=ON -DENABLE_VCARD=OFF -DENABLE_BV16=OFF -DENABLE_V4L=OFF使用linphone提供的树莓派版本编译的方式,但是树莓派arm版本和海思arm版本不太一致,所以部分cmake配置需要手动修改
Arm版本信息:
执行(arm-himix200-linux-gcc –help可以获取一些关于工具相关环境信息)
arm-himix200-linux-gcc -print-sysroot
获取: /opt/hisi-linux/x86-arm/arm-himix200-linux/host_bin/…/target添加环境变量:
export RASPBIAN_ROOTFS=/opt/hisi-linux/x86-arm/arm-himix200-linux/host_bin/…/target编译过程依赖2个cmake配置文件,需要修改, 分别是:
- linphone-desktop\linphone-sdk\cmake-builder\toolchains\toolchain-raspberry.cmake
- linphone-desktop\linphone-sdk\cmake-builder\configs\config-desktop-raspberry.cmake
在2文件中添加
set(CMAKE_SYSTEM_PROCESSOR “armv7”)修改2文件关于ffmpeg的配置:
lcb_builder_cross_compilation_options(ffmpeg
“–prefix=${CMAKE_INSTALL_PREFIX}”
“–enable-cross-compile”-
"--cross-prefix=arm-linux-gnueabihf-"
-
"--cross-prefix=arm-himix200-linux-" "--arch=arm" "--target-os=linux"
)
修改1文件 注释掉关于环境的判断,添加自己交叉编译gcc路径:
-if("$ENV{RASPBERRY_VERSION}" STREQUAL “”)
set(RASPBERRY_VERSION 1)
-else()-
if($ENV{RASPBERRY_VERSION} VERSION_GREATER 3)
-
set(RASPBERRY_VERSION 3)
-
else()
-
set(RASPBERRY_VERSION $ENV{RASPBERRY_VERSION})
-
endif()
-endif()
-if("$ENV{RASPBIAN_ROOTFS}" STREQUAL “”)
-
message(FATAL_ERROR "Define the RASPBIAN_ROOTFS environment variable to point to the raspbian rootfs.")
-else()
-
set(SYSROOT_PATH "$ENV{RASPBIAN_ROOTFS}")
-endif()
-set(TOOLCHAIN_HOST “arm-linux-gnueabihf”)
+#if(“KaTeX parse error: Expected 'EOF', got '#' at position 37: … STREQUAL "") +#̲ message(F…ENV{RASPBIAN_ROOTFS}”)
+#endif()
+#set(TOOLCHAIN_HOST “arm-linux-gnueabihf”)
+set(TOOLCHAIN_HOST “arm-himix200-linux”)修改1文件, 因为arm版本不一样,需要查询自己编译的arm版本的c,c++flag的参数配上,添加-std=c++11 ,在编译btctoolbox一直报错,分析后发现是c++11标准参数没有添加上,添加后解决
-if(RASPBERRY_VERSION VERSION_GREATER 2)-
set(CMAKE_C_FLAGS "-mcpu=cortex-a53 -mfpu=vfp -mfloat-abi=hard" CACHE STRING "Flags for Raspberry PI 3")
-
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "Flags for Raspberry PI 3")
-elseif(RASPBERRY_VERSION VERSION_GREATER 1)
-
set(CMAKE_C_FLAGS "-mcpu=cortex-a7 -mfpu=vfp -mfloat-abi=hard" CACHE STRING "Flags for Raspberry PI 2")
-
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "Flags for Raspberry PI 2")
-else()
-
set(CMAKE_C_FLAGS "-mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard" CACHE STRING "Flags for Raspberry PI 1 B+")
-
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "Flags for Raspberry PI 1 B+")
-endif()
-set(CMAKE_FIND_ROOT_PATH “ C M A K E I N S T A L L P R E F I X " " {CMAKE_INSTALL_PREFIX}" " CMAKEINSTALLPREFIX""{CMAKE_SYSROOT}”)
-
set(CMAKE_C_FLAGS “-mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=softfp” CACHE STRING “Flags for Raspberry PI 1 B+”)
+set(CMAKE_CXX_FLAGS “KaTeX parse error: Double subscript at position 9: {CMAKE_C_̲FLAGS}" CACHE S…{CMAKE_CXX_FLAGS} -std=c++11”) -
set(CMAKE_FIND_ROOT_PATH “ C M A K E I N S T A L L P R E F I X " " {CMAKE_INSTALL_PREFIX}" " CMAKEINSTALLPREFIX""{CMAKE_SYSROOT}”)
Ms2编译问题:
修改 ms2 CmakeLists.txt
cmake_dependent_option(ENABLE_V4L “Enable Video4Linux support.” YES “ENABLE_VIDEO;LINUX_OR_BSD” NO)改为:
cmake_dependent_option(ENABLE_V4L “Enable Video4Linux support.” NO “ENABLE_VIDEO;LINUX_OR_BSD” NO)添加:
set(ENABLE_X11_DEFAULT_VALUE NO)
set(ENABLE_GLX_DEFAULT_VALUE NO)下载alsa源码编译成arm版本使用:
地址:https://www.alsa-project.org/main/index.php/Main_Page
Tar –xvf ../configure --host=arm-linux --prefix=/home/app_comm/arm-compile/armlib/ CC=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-gcc
Make
配置linphone-desktop/linphone-sdk/mediastreamer2/cmake/FindALSA.cmake; 因为ALSA是自定义的安装路径,导致find_package无法找到;在FindALSA.cmake文件中添加:
set(ALSA_INCLUDE_DIRS “/home/app_comm/arm-compile/armlib/include”)
set(ALSA_LIBRARIES “/home/app_comm/arm-compile/armlib/lib/libasound.so”)
解决这个问题;Linphone编译问题
- Ms2/cmake/FindFFmpeg.cmake添加
set(HAVE_FUN_avcodec_get_context_defaults3 1)
set(HAVE_FUN_avcodec_open2 1)
库链接出错:
arm-linux-gnueabi/bin/ld: warning: libbellesip.so.0, needed by …/src/ liblinphone.so.9, not found (try using -rpath or -rpath-link)linphone编译时会出现动态库生成可以成功,但是console和daemon文件夹下的demo程序出现链接报错的问题;经过分析应该是arm库在x86环境下无法自动关联自己依赖的库,需要修改 console/CmakeLists.txt 和daemon/CmakeLists.txt文件,帮他链接关联进去,具体修改:
添加:
set(LIBS
${BELLESIP_LIBRARIES}
${MEDIASTREAMER2_LIBRARIES}
${ORTP_LIBRARIES}
${BCTOOLBOX_CORE_LIBRARIES}
${XML2_LIBRARIES}
${BELR_LIBRARIES}
${LIBXSD_LIBRARIES}
)
if(WIN32 AND NOT CMAKE_SYSTEM_NAME STREQUAL “WindowsStore”)
list(APPEND LIBS “Ws2_32”)
endif()
if(LIME_FOUND)
list(APPEND LIBS ${LIME_LIBRARIES})
endif()
if(ENABLE_LIME)
list(APPEND LIBS ${BZRTP_LIBRARIES})
endif()
if(ZLIB_FOUND)
list(APPEND LIBS ${ZLIB_LIBRARIES})
endif()
if(SOCI_FOUND)
list(APPEND LIBS ${SOCI_LIBRARIES})
endif()
if(SQLITE3_FOUND)
list(APPEND LIBS ${SQLITE3_LIBRARIES})
endif()
if(ICONV_FOUND)
list(APPEND LIBS ${ICONV_LIBRARIES})
endif()
if(ENABLE_TUNNEL)
list(APPEND LIBS ${TUNNEL_LIBRARIES})
endif()
if(MSVC AND NOT CMAKE_SYSTEM_NAME STREQUAL “WindowsPhone” AND NOT CMAKE_SYSTEM_NAME STREQUAL “WindowsStore”)
list(APPEND LIBS ${LIBGCC} ${LIBMINGWEX})
endif()
if(WIN32 AND NOT CMAKE_SYSTEM_NAME STREQUAL “WindowsPhone” AND NOT CMAKE_SYSTEM_NAME STREQUAL “WindowsStore”)
list(APPEND LIBS shlwapi)
endif()
if(INTL_FOUND)
list(APPEND LIBS ${INTL_LIBRARIES})
endif()
if(BELCARD_FOUND)
list(APPEND LIBS ${BELCARD_LIBRARIES})
endif()link_directories("/home/app_comm/linphone/linphone-desktop/OUTPUT/desktop-raspberry/lib")
list(APPEND LIBS mbedtls mbedx509 mbedcrypto swscale vpx bzrtp srtp2 gsm opus speex speexdsp avcodec avutil swresample bcg729 asound stdc++)修改:
add_executable(linphonec ${LINPHONEC_SOURCE_FILES})
-target_link_libraries(linphonec ${LINPHONE_LIBS_FOR_TOOLS} ${BCTOOLBOX_CORE_LIBRARIES} ${ORTP_LIBRARIES} ${MEDIASTREAMER2_LIBRARIES} ${XSD_LIBRARIES})
+target_link_libraries(linphonec ${LINPHONE_LIBS_FOR_TOOLS} L I B S ) s e t t a r g e t p r o p e r t i e s ( l i n p h o n e c P R O P E R T I E S L I N K F L A G S " {LIBS}) set_target_properties(linphonec PROPERTIES LINK_FLAGS " LIBS)settargetproperties(linphonecPROPERTIESLINKFLAGS"{LINPHONE_LDFLAGS}")
set_target_properties(linphonec PROPERTIES LINKER_LANGUAGE CXX)@@ -54,7 +104,10 @@ if(WIN32)
endif()add_executable(linphonecsh ${LINPHONECSH_SOURCE_FILES})
-target_link_libraries(linphonecsh ${LINPHONE_LIBS_FOR_TOOLS} ${BCTOOLBOX_CORE_LIBRARIES} ${ORTP_LIBRARIES})
+#target_include_directories(linphonecsh PUBLIC ${LINPHONE_INCLUDE_DIRS})
+#target_link_libraries(linphonecsh ${LINPHONE_LIBS_FOR_TOOLS} ${BCTOOLBOX_CORE_LIBRARIES} ${ORTP_LIBRARIES} mbedtls mbedx509 mbedcrypto)
+target_link_libraries(linphonecsh ${LINPHONE_LIBS_FOR_TOOLS})
+target_link_libraries(linphonecsh L I B S ) s e t t a r g e t p r o p e r t i e s ( l i n p h o n e c s h P R O P E R T I E S L I N K F L A G S " {LIBS}) set_target_properties(linphonecsh PROPERTIES LINK_FLAGS " LIBS)settargetproperties(linphonecshPROPERTIESLINKFLAGS"{LINPHONE_LDFLAGS}")
set_target_properties(linphonecsh PROPERTIES LINKER_LANGUAGE CXX)daemon/CmakeLists.txt按照相同方式修改;
以上是遇到的比较棘手的一些问题;源代码未做修改,主要是修改编译相关脚本;
-
交叉编译详解
2021-02-23 13:31:29第 1 章 交叉编译简介 1.1 什么是交叉编译 对于没有做过嵌入式编程的人,可能不太理解交叉编译的...这种方式下,我们使用 x86 平台上的工具,开发针对 x86 平台本身的可执行程序,这个编译过程称为本地编译。 交叉 -
nginx交叉编译与部署.pdf
2020-08-07 17:50:12基于海思3559A 对nginx-1.6.2 openssl-1.0.2的交叉编译过程,nginx-1.6.2的环境部署 -
expect5.45+TCL8.6.9 工具交叉编译过程
2019-01-06 20:32:02一、下载源码: TCL源码:http://www.tcl.tk/software/tcltk/download.html Expect源码:... 二、编译arm版本和x86版本的TCL工具 1.设置环境变量: export tcl_cv_ty... -
嵌入式开发—交叉编译OpenCV
2022-04-04 22:49:44编译平台:Ubuntu18.04 x86平台 ...交叉编译工具:gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu. 下载地址:https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/ -
Arm下Grpc交叉编译过程记录
2019-07-31 10:19:44交叉编译gRPC: export GRPC_CROSS_COMPILE=true export GRPC_CROSS_AROPTS="cr --target=elf32-little" make -j4 HAS_PKG_CONFIG=false \ CC=arm-linux-gnueabihf-gcc \ CXX=arm-linux-gnueabihf-g++ \ RANLIB=... -
Bluez协议栈的交叉编译过程
2011-06-06 10:43:25Bluez协议栈的交叉编译过程,详细地讲解编译过程与步骤,同时指出在编译过程中遇到的常见错误,难得的指导资料! -
RTSP/Onvif协议EasyNVR视频平台ARM版交叉编译过程及常见报错处理
2022-03-01 17:31:22TSINGSEE青犀视频的Easy系列视频平台,对外提供Windows与Linux版本,如果用户有需求,我们也可以进行编译,提供ARM版。今天我们来分享一下EasyNVR的ARM版移植安装的编译过程。 -
ubuntu20.04+Qt5.12.12+aarch64-linux-gnu交叉编译平台设置详细教程
2022-02-24 09:39:40填平了无数大坑后终于实现ubuntu20.04+Qt5.12.12+aarch64-linux-gnu交叉编译平台设置。详细记录了安装的全部过程,补充了全部所需的库,整个编译过程中无任何错误报出,亲测可用。 -
gsoap2.8交叉编译过程笔记
2018-07-12 12:47:42最近在交叉编译gsoap的时候总出现错误,仔细研究试验记录成功编译步骤。1.解压gsoap-2.8,复制两份,命名为gsoap-x86和gsoap-arm2.编译x86下库,进入gsoap-x86目录,执行 ./configure ,make, su -c 'make install'3... -
tx1_qt5.9.3源码交叉编译配置文件
2018-05-27 00:23:05包含了tx1平台 交叉编译Qt5.9.3源码的配置文件,可支持 opengl es 2.0/3.0/4.0。 交叉编译过程参照https://blog.csdn.net/xiaoqingyi_1014/article/details/80373168 -
ubuntu mtd-utils交叉编译过程
2018-08-09 16:17:21MTD-utils的的编译依赖三个库 1,zlib(http://www.zlib.net/zlib-1.2.5.tar.gz) 2,lzo(http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz) 3,e2fsprogs... -
[原创]Qtopia PDA 2.2.2 交叉编译过程2
2011-04-26 19:13:23[原创]Qtopia PDA 2.2.2 交叉编译过程2 -
[原创]Qtopia PDA 2.2.2 交叉编译过程1
2011-04-26 19:12:58[原创]Qtopia PDA 2.2.2 交叉编译过程 -
hostapd交叉编译包
2018-05-23 10:07:48hostapd V2.6,依赖openssl-1.0.1g和libnl-3.2.23。这些依赖库也都在压缩包里。实测可以编译通过。具体编译过程参考这篇博客:https://blog.csdn.net/BHJ1119/article/details/80414989 -
在hisi上QT交叉编译过程(带webengine)
2018-09-07 17:02:001、安装交叉编译器 海思:aarch64-himix100-linux PATH导出交叉编译器 2、下载和解压QT源码5.9.6 http://download.qt.io/archive/qt/ 3、配置configure脚本build.sh 内容如下: #!/bin/bash ./configure -v \ .... -
[最详细的FAAC1.28交叉编译过程] AAC算法移植
2017-08-08 14:22:14折腾2个星期,就搞出这个 ...前提是你系统已经安装好你的交叉编译环境和已经下载了faac1.28 官方地址是 http://www.audiocoding.com/index.html 开发环境:Ubantu12.04.2 交叉编译器:hisiv300-linux-g++,hisiv3 -
linux交叉编译snort到cavium
2020-11-24 11:14:19压缩包内部包含7个软件:libdnet snort daq pcap pcre zlib openssl,每个交叉编译的步骤。文档只是记录自己编译的过程,基本编译按照模式来不会出问题,依赖库需要自己移到开发板上。可自行考虑连接静态库 -
wpa_suplicant 交叉编译移植细节记录全过程
2018-08-27 18:02:01linux 环境下 交叉编译wpa_suplicant wifi 配置工具的全过程,会很简单,不会其实也很难,中间依赖两个开源库 openssl 和libnl 。 在这里 ,把关键移植详细的细节记录下来,分享给大家 -
交叉编译环境介绍
2021-05-12 07:47:21采用交叉编译的主要原因在于,多数嵌入式目标系统不能提供足够的资源供编译过程使用,因而只好将编译工程转移到高性能的主机中进行。linux下的交叉编译环境重要包括以下几个部分:针对目标系统的编译器gcc针对目标... -
Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程
2017-04-19 09:57:23例如,编译内核时需要使用arm-linux-gcc-4.3.3版本的交叉编译工具链,而使用arm-linux-gcc-3.4.1的交叉编译工具链,则会导致编译失败。 gcc和arm-linux-gcc的区别就是gcc是linux下的C语言编译器,编译出来的...