源码编译Boost库的正确姿态
- 写在前面
- step 1.
- step 2.
- step 3.
- step4.
写在前面
项目需要编译pcl库到arm平台,交叉编译Boost,Eigen3, Flann, 之后再编译pcl库的时候总是报错,让添加-fPIC选项重新编译。没细看以为是要在编译pcl库时添加-fPIC,前试后试了各种方法添加-fPIC选项,还是报错。搜错误代码得到的答案还是要添加-fPIC[Doge]。
step 1.
编译boost时添加-fPIC选项,此选项的意思是生成与地址无关的库文件,在编译其他依赖boost库的库文件时非常有用。
在boost_1_xx_x/tools/build目录下搜索gcc.jam,找到rule setup-fpic(targets * : sources * : properties *)这行,将其规则内的if $(link) = shared 改为if $(link) = shared || $(link) = static
保存退出。
step 2.
在boost_1_xx_x/目录下执行bootstrap
step 3.
如果要进行交叉编译则修改project-config.jam文件,将using gcc;
修改为using gcc : arm : arm-linux-gnueabihf-gcc-5 ;
注意空格
step4.
在pcl的编译中依赖与boost的mpi库,因此在project-config.jam文件中添加一行using mpi ;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)