3
Wenn ich versuche, die folgenden zu kompilieren:mingw Linker kann nicht finden PathAppend
#include <windows.h>
#include <shlwapi.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
char firstPart[MAX_PATH] = "c:\\windows";
char secondPart[MAX_PATH] = "system32";
PathAppend(firstPart, secondPart);
return 0;
}
Mit dem Befehl:
c:\mingw\bin\gcc -mwindows -mno-cygwin -o test test.c
es mit dem Fehler fehlschlägt:
undefined reference to ``[email protected]'`
Sicher Das ist Dummheit meinerseits, aber kann mir jemand sagen, was ich hier vermisse?
Perfect! Ich hatte versucht, die -lshlwapi vor den Dateinamen zu verwenden, aber ich denke, es geht nach. –
Hm, das ist seltsam. Es ist ein Toolchain Bug IMO: Die Reihenfolge der Optionen sollte in diesem Fall keine Rolle spielen. Die Verwendung von gcc unter Linux hat dieses Problem nicht. Betrachtet man gcc -v, kann ich sehen, dass das -lshlwapi einfach ignoriert wird, wenn es vor test.c gesetzt wird. Vielleicht haben die letzten gcc (4.4 serie) diese Probleme nicht. –
Sorry, ich meine 4. * serie. Das offiziell veröffentlichte mingw gcc ist uralt (3.4 serie) - wenn das eine Option ist, sollten Sie neuere verwenden, entweder indem Sie es selbst kompilieren oder verfügbare binäre da draußen verwenden. –