J'essayais de compiler un exemple de VideoCapture d'OpenCV. Quand je compile, je reçois la sortie suivante:LD: liaison avec les bibliothèques 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.
(BTW, gpp est un alias g ++ -lhighgui -lcv -lcxcore)
Alors, j'ai essayé de compiler avec « gpp --enable -auto-import ", mais g ++ n'a pas reconnu cette option. Alors, j'ai essayé de compiler comme ceci:
gpp -c test.c
ld test.o
Et j'ai la même erreur et beaucoup d'autres erreurs sur les fonctions de la STL, indiquant qu'il n'a pas de lien avec STL:
undefined reference to std::cout
...
Et, enfin, quand je compilé comme ceci:
gpp -c test.c
ld --enable-auto-import test.o
cette fois, je n'ai que les erreurs de la STL. L'erreur VideoCapture est partie! Donc je suppose que j'ai résolu ce problème. La seule chose est: comment puis-je faire lier mon programme avec les bibliothèques STL ??????
Merci à l'avance
Résolu. Bien que le paramètre soit "--enable-auto-import" sur ld, vous devez utiliser uniquement "-enable-auto-import" lors de la compilation avec g ++. De cette façon, j'ai pu compiler avec et exécuter mon exemple. – ABC