OpenCV&& S2i Harpia在Ubuntu 11.10上

时间:2011-10-25 23:52:05

标签: c gcc ubuntu opencv compilation

我创建了一个新问题,因为我和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没问题。

3 个答案:

答案 0 :(得分:0)

使用以下命令,它对我有用:

gcc `pkg-config --cflags opencv` opencv.c -o open_cv `pkg-config --libs opencv`

答案 1 :(得分:0)

我尝试使用Harpia,并编译自动生成的源代码。我有同样的问题。我成功将gcc替换为g++

g++ pkg-config --cflags opencv test.c -o test pkg-config --libs opencv

我从这个示例中了解到,gcc仅适用于C代码,g++适用于C++代码。

答案 2 :(得分:0)

您应该将库放在行的末尾。

gcc test.c `pkg-config --cflags opencv` -o test `pkg-config opencv --libs`

我花了三天时间安装并重新安装opencv和dependancies,直到我发现问题与gcc有关。不知何故,你在命令args中编写内容的顺序现在非常重要。

编辑:问题不在于旧接口。编译器没有正确链接。