【Linux开发】OpenCV在ARM-linux上的移植过程遇到的问题2---CMAKE配置问题
2016-08-28 19:37
549 查看
实际上这里说的是移植的第一步,下载到源码后,我用的是opencv2.4.9,解压缩,然后可以利用cmake-gui来进行configure配置,这里面需要设置交叉编译的工具链,具体的可以参考【Linux开发】OpenCV在ARM上的移植
这里面的几个问题:
没有路径的可以设置选择No,不要选他。
除了前面列的那篇文中所提到的,要修改CMakeCache.txt中的那个CMAKE_EXE_LINKER_FLAGS=-lpthread
-lrt,还有一个特别要命的问题就是:
解决方法:
好像得对应到每一个出错的路径下进行修改(多个都出现这种问题的话)。
好像还是64bit操作系统的问题吧?
------------------
2016-8-28 19:37
张朋艺 pyZhangBIT2010@126.com
这里面的几个问题:
没有路径的可以设置选择No,不要选他。
除了前面列的那篇文中所提到的,要修改CMakeCache.txt中的那个CMAKE_EXE_LINKER_FLAGS=-lpthread
-lrt,还有一个特别要命的问题就是:
Linking CXX shared library ../../lib/libopencv_core.so /opt/EmbedSky/4.4.6/lib/gcc/arm-embedsky-linux-gnueabi/4.4.6/../../../../arm-embedsky-linux-gnueabi/bin/ld: ../../3rdparty/lib/libzlib.a(inflate.c.obj): relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC ../../3rdparty/lib/libzlib.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[2]: *** [lib/libopencv_core.so] 错误 1 make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] 错误 2 make: *** [all] 错误 2
解决方法:
进入opencv目录下的3rdparty的对应目录CMakeFiles/ *.dir下,打开flags.make,在C_FLAGS = 后添加-O3 -fPIC用来支持在64位机上编译 如../3rdparty/zlib/CMakeFiles/zlib.dir/flags.make 修改C_FLAGS = -W -Wall 为 C_FLAGS = -O3 -fPIC -W -Wall 和修改CXX_FLAGS = -W -Wall 为 C_FLAGS = -O3 -fPIC -W -Wall
好像得对应到每一个出错的路径下进行修改(多个都出现这种问题的话)。
编译一个能在 arm 平台上用的动态库,结果报错如下: relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC ./obj/xxx.o: could not read symbols: Bad value collect2: error: ld returned 1 exit status 其实错误信息已经给出解决办法了,加 -fPIC 参数从新编译(recompile with -fPIC) 所以如果是命令行,直接添加 -fPIC 如果是Makefile,添加编译选项:CFLAGS += -fPIC Done !
好像还是64bit操作系统的问题吧?
------------------
2016-8-28 19:37
张朋艺 pyZhangBIT2010@126.com
相关文章推荐
- 【Linux开发】OpenCV在ARM-linux上的移植过程遇到的问题4---共享库中嵌套库带路径【已解决】
- 【Linux开发】OpenCV在ARM-linux上的移植过程遇到的问题1---cvNamedWindow调用报错的问题
- 【Linux开发】OpenCV在ARM-linux上的移植过程遇到的问题1---cvNamedWindow调用报错的问题
- OpenCV在ARM-linux上的移植过程遇到的问题3—共享库中嵌套库居然带路径
- OpenCV在ARM-linux上的移植过程遇到的问题3---共享库中嵌套库居然带路径【未解决】
- [计算机视觉][ARM-Linux开发] Ubuntu14.04安装OpenCV3.2中遇到的问题的解决方案
- Android Studio-—使用OpenCV的配置方法和demo以及开发过程中遇到的问题解决
- Android Studio-—使用OpenCV的配置方法和demo以及开发过程中遇到的问题解决
- arm+linux下usb驱动开发,移植Libusb以及开发应用调试过程
- 配置arm-linux-gcc教程以及可能遇到的问题
- linux 内核配置过程中遇到的问题
- 今天在从装系统后在配置android开发环境的过程中遇到了一点小问题
- 【ARM-Linux开发】使用QT和Gstreanmer 遇到的一些问题
- 使用CMake + MinGW + Eclipse 开发OpenCV --编译,使用以及可能遇到的问题详解
- iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
- openCV2.4.13+VS2015+Cmake开发环境配置,解决nonfree问题
- 【Linux开发】OpenCV在ARM上的移植
- linux安装和配置 mysql、redis 过程中遇到的问题记录(转)
- 移植rt73 usb无线网卡到linux2.6.28的过程中所遇到问题集锦
- linux安装和配置 mysql、redis 过程中遇到的问题记录