C-Library in C++
-
hallo!
ich habe mir selbst eine c-library geschrieben (linux) und will diese nun in mein c++ programm einbinden. das ist doch normal kein problem oder? ich bekomm aber immer ein undefinied reference -error - woran kann das liegen?
folgende meldung bekomm ich:
$ g++ -Wall -I. -lmsdclient main.cpp -o main/tmp/ccvoW7BC.o: In function `main': main.cpp:(.text+0xaf): undefined reference to `msdclient_get_version(unsigned char)' collect2: ld gab 1 als Ende-Status zurückdie library ist in /usr/lib - kann also normal ohne probleme gelinkt werden.
-
hast du den header mit
extern "C" {
#include "header.h"
}eingebunden?
-
okay, das ging ja schnell und es funktioniert sogar - danke!

warum dieses extern? was wird dadurch bewirkt?
-
-
kann ich das hier als richtige antwort sehen: http://www.cpp-tutor.de/cpp/le07/le07_03_d1.htm ?
-
library23 schrieb:
kann ich das hier als richtige antwort sehen: http://www.cpp-tutor.de/cpp/le07/le07_03_d1.htm ?
genau.
-
Kannst im Header einfach das hier einbauen, so machens wohl alle:
#ifdef _cplusplus extern "C" { #endif // bla #ifdef _cplusplus } #endif