"fatal error LNK1104: Datei "wxbase28ud.lib" kann nicht geöffnet werden." --> In Win32 Programm
-
Hallo,
folgende Fehlermeldung kommt bei einem ganz normalen Win32 Projekt:fatal error LNK1104: Datei "wxbase28ud.lib" kann nicht geöffnet werden.
Ich habe ein Win32-Projekt gewählt und einfach versucht folgenden Standard-Code zu kompilieren:
#include <windows.h> LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT("Programme"); HWND hwnd; MSG msg; WNDCLASS wndclass; wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.hInstance = hInstance; wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wndclass.lpszMenuName = NULL; wndclass.lpszClassName = szAppName; if(!RegisterClass(&wndclass)) return 0; hwnd = CreateWindow(szAppName, TEXT("My Programme"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); ShowWindow(hwnd, iCmdShow); UpdateWindow(hwnd); while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch(message) { case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd, message, wParam, lParam); }
Nun... ich habe das wxPack(wxWidgets) installiert und alles lief wunderbar. Jetzt habe ich die Testversion von MS VS Professional 2005 geladen und es kommt der Fehler. Ich habe schon das wxPack deinstalliert, aber der Fehler bleibt. Kann es sein, dass ich eine falsche Einstellung in meinem Projekt habe?
*EDIT2: Ich muss gerade feststellen, dass bei einem Konsolen-Projekt der gleiche Fehler kommt.
*EDIT: Vielleicht hilft dies hier auch weiter:
/OUT:"C:\Florian\Projekte\CrashWin\Debug\CrashWin.exe" /INCREMENTAL /NOLOGO /MANIFEST /MANIFESTFILE:"Debug\CrashWin.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Florian\Projekte\CrashWin\Debug\CrashWin.pdb" /SUBSYSTEM:WINDOWS /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:PROMPT kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wxbase28ud.lib wxmsw28ud_core.lib wxmsw28ud_adv.lib wxpng.lib wxzlib.lib wxjpeg.lib wxtiff.lib
Gruß Speedy_92
-
Wie du anhand der Parameter sehen kannst, sagst du dem Linker, dass er gegen die wxLibs linken soll. Wenn die natürlich nicht da sind, kann er die nicht öffnen und meckert.
Geh einfach unter Projekt > Eigentschaften > Linker > Eingabe und lösche die wx Namen in der Leiste "Zusätzliche Abhängigkeiten" raus.
-
Dort habe ich schon nachgeschaut, nur mein Problem ist halt, dass dort GAR KEINE zusätzlichen Libs stehen... Also auch nix mit wx*
*EDIT: Kann es sein das ich hier im falschen Forum mittlerweile bin?
-
Hi Speedy_92,
da du ja ein Win32-API-Anwendung kompilieren/linken willst, bist du im richtigen Forum, auch wenn dein Thread-Titel zuerst anderes vermuten lässt.
Es gibt noch eine zweite Möglichkeit wo du aus Versehen statische Bibliotheken angegeben haben könntest.
Schau unter: Project->xxx Properties...->Configuration Properties->C/C++->Command Line und dort unter "Additional Options" nach.
Sollten da die besagten Libs auch nicht stehen dann lege einfach ein neues Projekt an und lade die Standardeinstellungen von Visual C++ (Tools->Import and Export Settings..., dort wählst du dann "Reset all settings").
MfG WilMen
-
Die Libraries werden nur in den Pfadne gesucht, die Du einstellst.
Wo liegt diese Lib?
Ist diese Libe unter Tools -> Options -> Project and Solutions -> VC++ Directories -> Libray Files eingetragen?
-
Vielen Dank erst einmal, aber es hat nichts genützt...
da du ja ein Win32-API-Anwendung kompilieren/linken willst, bist du im richtigen Forum, auch wenn dein Thread-Titel zuerst anderes vermuten lässt.
Nun ja... ich musste mittlerweile feststellen, dass der Error auch bei einer Konsolenanwendung kommt.
Schau unter: Project->xxx Properties...->Configuration Properties->C/C++->Command Line und dort unter "Additional Options" nach.
Sollten da die besagten Libs auch nicht stehen dann lege einfach ein neues Projekt an und lade die Standardeinstellungen von Visual C++ (Tools->Import and Export Settings..., dort wählst du dann "Reset all settings").
zum Ersten: Dort ist nichts angegeben.
zum Zweiten: ich habe es gemacht, nur es hat leider nichts genützt... der Fehler kommt dennochIst diese Libe unter Tools -> Options -> Project and Solutions -> VC++ Directories -> Libray Files eingetragen?
Ich habe alle wxWidgets-Verzeichnisse hier gelöscht... Es ist alles, wie bei der Standard-Vorgabe. Trotz alldem kommt immer noch der Fehler.
-
Kann niemand weiter helfen? Bin echt am verzweifeln, da ich nur unter Code::Blocks weiter machen kann (was mir nicht gefällt)