Forum: PC-Programmierung GCC/LD Fehler: DSO


von Walter (Gast)


Lesenswert?

Hallo Forum,
ich versuch grad nen Testproggy mit opencv zu bauen, aber gcc(/ld) wirft 
Fehler:

gcc -Wall -pedantic -g -ggdb  `pkg-config opencv --cflags --libs`  -Wall 
-pedantic -g -ggdb  `pkg-config opencv --cflags --libs`  -lm -c -o 
projekt.o test.cpp
gcc -Wall -pedantic -g -ggdb  `pkg-config opencv --cflags --libs` -lm 
-o ziel projekt.o

/usr/bin/ld: projekt.o: undefined reference to symbol 
'_ZNSsD1Ev@@GLIBCXX_3.4'
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO 
missing from command line
collect2: error: ld returned 1 exit status


"pkg-config opencv --cflags --libs" expandiert zu: -I/usr/include/opencv 
-lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml 
-lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect 
-lopencv_contrib -lopencv_legacy -lopencv_flann


Ich hab google benutzt, das einzige was ich gefunden hab verwies darauf, 
lm an anderer Stelle zu versuchen, aber auch am Ende hat sich nichts 
veraendert.

Ich bin jetzt ratlos, habt Ihr ne Ahnung was der von mir will?

von Dirk K. (d-k)


Lesenswert?

Der will das du libstdc++ einbindest. Also füge mal "-lstdc++" zu deinem 
2ten Aufruf hinzu.

Ich glaube der c++ Compiler macht dies automatisch. Du kannst also auch 
probieren g++ statt gcc zu verwenden.

von Walter (Gast)


Lesenswert?

Danke, ich versuchs mal

von Stefan R. (srand)


Lesenswert?

Dirk K. schrieb:
> Du kannst also auch probieren g++ statt gcc zu verwenden.

Das ist der richtige Weg, den er unbedingt wählen sollte.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.