我正在尝试使用opencv函数交叉编译一个非常简单的测试程序。
我正在使用Ubuntu 11.10和Codeblocks,当我编译我的代码时,它出现在我身上:
||warning: ../../lib/libopencv_core.so, needed by /root/arm-lib/lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)|
||warning: ../../lib/libopencv_imgproc.so, needed by /root/arm-lib/lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)|
||=== Build finished: 0 errors, 2 warnings ===|
当我尝试在ARM中执行此软件时,我遇到了分段错误(核心转储)。
我在Codeblocks上使用的标志是:
-L / USR /本地/ lib中 -L / LIB / libbxml2.so.2 -lpthread -lrt -lxml2 -lz -lopencv_highgui -lopencv_core -lopencv_imgproc
你有什么建议?提前致谢
答案 0 :(得分:0)
命令行的一个明显问题是:-L
必须仅用于添加库目录,但是,您使用它来在-L/lib/libbxml2.so.2
中包含文件,这是错误的。
很可能你想这样做:
-L/usr/local/lib -L/lib -lxml2 -lpthread -lrt -lxml2 -lz -lopencv_highgui -lopencv_core -lopencv_imgproc
现在,错误很明显:系统在-L
附带的路径中找不到libopencv_core.so和libopencv_imgproc.so。我建议您找到这些文件,然后使用-L
标志添加相应的目录。