我创建了一个新问题,因为我的问题基本上与this one相同,但我尝试使用以下命令编译一个使用S2i harpia语言自动生成的C示例(而不是C++):
gcc test.c `pkg-config --libs --cflags opencv` -o test由于this problem导致编译失败,所以如果我使用".mm“扩展名重命名源文件,则编译可以成功完成。然而,我从头开始安装了所有的东西(我正在开始一个新的项目),它从一开始就不能工作;相反,我想要使用通常的".c“文件。
我正在编写的代码是用C编写的--不是Objective-C,也不是C++ --我如何告诉编译器使用“旧的”OpenCV C接口呢?
编辑:最新的Ubuntu 12.04没有问题。
发布于 2011-12-06 01:46:05
使用以下命令,它对我有效:
gcc `pkg-config --cflags opencv` opencv.c -o open_cv `pkg-config --libs opencv`发布于 2011-12-26 22:47:25
我试着用Harpia编译自动生成的源代码。我也有同样的问题。我成功地用g++替换了gcc
g++ pkg-config --cflags opencv test.c -o test pkg-config --libs opencv我从这个例子中理解到,gcc只适用于C代码,就像g++适用于C++代码一样。
发布于 2012-03-06 22:05:33
您应该将库放在行的末尾。
gcc test.c `pkg-config --cflags opencv` -o test `pkg-config opencv --libs`我花了三天时间安装和重新安装opencv和依赖项,直到我发现问题出在gcc身上。不知何故,在命令args中编写内容的顺序现在很重要。
编辑:问题不在于旧的界面,或者不是。编译器就是不能正确链接。
https://stackoverflow.com/questions/7897212
复制相似问题