3
我試圖編譯一個OpenCV的VideoCapture示例。當我編譯它,我得到以下的輸出:LD:與STL庫鏈接
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庫聯繫起來?
在此先感謝
解決了它。儘管ld中的參數是「--enable-auto-import」,但在使用g ++進行編譯時,只能使用「-enable-auto-import」。這樣,我就可以編譯並運行我的示例。 – ABC 2010-09-07 17:28:58