BeagleBone Black 和 Ubuntu 12.04(Precise Pangolin)上的 OpenCV 链接问题

标签 opencv ubuntu linker arm beagleboneblack

我有 BeagleBone BlackUbuntu 12.04 (精确的穿山甲)。我下载了OpenCV来自 apt 的库,使用以下命令:

sudo apt-get install -y libopencv-dev

此命令安装了所需的头文件和库。然后我编译了我自己的程序,它只显示一个带有以下命令的窗口:
gcc -I/usr/inlcude/ -I/usr/include/opencv2/ -L/usr/lib/ -lopencv_core -lopencv_highgui -lm opencv_test.c -o test

几秒钟后,它显示它无法找到带有“lrint”的引用等等,最后显示了 cvNameWindow、cvShowImage 等的链接错误。

我认为这可能是安装库的问题。我下载了最新的 OpenCV 源代码,将 OpenCV wiki 上提供的代码与 -DUSE_NEON=ON 交叉编译。我的 Ubuntu 机器上的标志。我将这些头文件和库复制到了 ext4 的额外分区中。格式化。我再次发出以下命令:
gcc -I/usr/inlcude/ -I/media/misc/opencv/include/opencv/ -I/media/misc/opencv/include/ -L/usr/lib/ -L/media/misc/opencv/lib/ -lopencv_core -lopencv_highgui -lm opencv_test.c -o test

注意:/media/misc/是额外的分区。

这个命令给了我和之前一样的输出。现在我来重点了。也许我没有发出正确的命令。

我也将 gcc 更改为 g++,它给了我如下错误:
unable to find reference cvNamedWindow
unable to find reference cvShowImage

等等

最佳答案

您的链接命令有:-lopencv_core -lopencv_highgui -lm opencv_test.c
这是错误的论证顺序。要了解原因,请阅读 this .

If I give this command to my existing ubuntu x82 machine, It compiles very nicely...



你的意思是“它链接得很好”。

coincidence 正在发生这种情况,而不是因为您的链接命令是正确的。

关于BeagleBone Black 和 Ubuntu 12.04(Precise Pangolin)上的 OpenCV 链接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18531732/

相关文章:

linker - 通过使用内联汇编的 Raspberry Pi3 的 Rust 启动代码

c++ - 从源码编译opencv后可以删除哪些文件夹?

c++ - 尝试访问 OpenCV 中的像素值时出错

C编程: BEOWULF cluster : for multi core multi thread : MPI vs pthread

c++ - OpenCV - 无法打开我的网络摄像头的窗口

c++ - Android NDK链接V8静态库: cannot find symbols,但它们在那里

c++ - "error LNK2001: unresolved external symbol"

c++ - OpenCV CV_* 函数错误

image-processing - OpenCV 识别直线和曲线

apache - PHP 启动 : Unable to load dynamic library 'php_mysqli' in codeigniter ubuntu