关于ubuntu下交叉编译arrch64下的gtsam报错问题,boost中boost_regex.so中连接libicui18n.so.55报错的问题
交叉编译gtsam时遇到的报错信息如下:gtsam需要连接boost,
解决办法:
1.重新编译boost可解决。
2.自己搞定生成一个libicui18n.so.55。
由于我们的boost是公用的,因此1不太可能(我试过重新编译完boost,在编译gtsam完美通过)
首先下载GitHub - unicode-org/icu: The home of the ICU project source code.在这里可以直接下载需要的icu自取。
下载完解压后如下:解压完会有两个文件icu4c和icu4j,分别是c++和java.
然后在同目录下建立一个文件夹icupc,然后
-
mkdir icupc
-
cd ./icupc
-
../icu4c/source/runConfigureICU Linux/gcc
-
make
到此ubuntu上的icu编译完成,但是需要交叉编译,需要重新选则编译内核。
1. cd icu4c
2.mkdir build
3../configure --disable-samples --disable-tests \
--with-cross-build=/home/ubuntu/Downloads/aarch64/icu-release-55-2/icupc \
--prefix=/home/ubuntu/Downloads/aarch64/icu-release-55-2/icu4c/source/build \
--host=aarch64-linux-gnu \
CC=/usr/local/gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc \
CXX=/usr/local/gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
切记--with-cross-build=/home/ubuntu/Downloads/aarch64/icu-release-55-2/icupc的路径一定要是之前icupc的路径,切记不要配错。
4.make
5.make install
至此编译完成
如果懒得编译的人,可自取,我上传了ubuntu x_68_64和aarch64-linux-gnu下的库,可直接下载0积分
https://download.csdn.net/download/mylovechao/90786934?spm=1001.2014.3001.5503