Kompilieren-Programm mit extern "C"

Ich versuche, ein makefile zu kompilieren Sie ein Programm, das jemand anderes geschrieben hat, mit cygwin. Ich bekomme eine Menge Fehlermeldungen, von denen viele beschweren sich error: template with C linkage.

Nach der Suche rund um für ein bisschen es scheint, das problem ist verbunden mit extern "C". Diese Zeile ist in der Datei enthalten cygwin/usr/include/pthread.h, die mit #include < pthread.h > in einem der Header. Und wenn ich diese Zeile zu entfernen die meisten Fehlermeldungen verschwinden. Aber es gibt ein paar Links, von der folgenden Art:

/usr/include/pthread.h:67:5: error: previous declaration of int pthread_atfork(void (*  )(),void ( *)(), void ( *)())’ with C++’ linkage

/usr/include/sys/unistd.h:136:5: error: conflicts with new declaration with C linkage

Weiß jemand, wie man dieses Problem beheben? Ich würde lieben zu sitzen und all dieses Zeug im detail, aber ich habe keine Zeit, bevor ich brauche dieses Programm läuft..

  • Es gibt nicht viel was wir tun können, um Ihnen zu helfen ohne zu sehen, den eigentlichen code, den du versuchst zu kompilieren.
  • Nicht ändern pthread.h, ist, dass die meisten wahrscheinlich Recht, Sie brauchen, um herauszufinden, warum man den ursprünglichen Fehler, die die meisten wahrscheinlich nicht da. Erster Kandidat, ich würde Aussehen, sind Makros.
InformationsquelleAutor jorgen | 2013-08-28
Schreibe einen Kommentar