我试图编译OpenCV的VideoCapture示例。在编译时,我得到了以下输出:
gpp test.c
Info: resolving vtable for cv::VideoCapture by linking to __imp___ZTVN2cv12VideoCaptureE (auto-import)
c:/programs/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../../mingw32/bin/ld.exe: warning: auto-importing has
enable-auto-import specified on the command line.
This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.
顺便说一句,gpp是g++ -lhighgui -lcv -lcxcore的别名。
所以,我尝试使用"gpp --enable-auto-import"进行编译,但g++无法识别此选项。因此,我尝试这样编译:
gpp -c test.c
ld test.o
我遇到了同样的错误以及其他许多与STL函数有关的错误,表明它没有与STL链接:
undefined reference to std::cout
...
最后,当我按照以下方式编译时:
gpp -c test.c
ld --enable-auto-import test.o
这次,我只遇到了STL错误。VideoCapture错误已经解决了!所以我猜我解决了这个问题。唯一的问题是:我该如何让ld将我的程序与STL库链接起来?
提前感谢。