Compilierfehler bei einbindung von legacy c code nach c++
-
Guten Tag,
Ich arbeite mit codeblocks und minGW.
Beim einbinden von legacy c++ code nach c kommt es zu einem compilerfehler:D:\work\alexlib\test.o:test.cpp:(.text+0x33)||undefined reference to `hw'| ||=== Build finished: 1 errors, 0 warnings ===|
Das ist jetzt ein max. reduziertes beispiel.
Ich verwende 3 Dateien:
main.cpp#include<iostream> #include "hw.h" int main() { std::cout<<"hello C++"<<std::endl; hw(); return 0; }
hw.c
#include <stdio.h> #include hw.h void hw() { printf("hello C"); return; } int main() { hw(); return 0; }
und hw.h mit den defines um C zu kompensieren:
#ifdef __cplusplus extern "C" { #endif void hw(); #ifdef __cplusplus } #endif
Der Befehl
g++ main.cpp hw.c
führt zu dem quasi-gleichen Ergebnis.Wo mache ich einen Fehler?
-
solved
Irgendwas mit dem headerinclude war schiefgelaufen.