Witam.
Win XP (.NET Framework 4)
Visual C++ Express 2010
Win32 Project / Windows applocation
Właśnie zacząłem naukę WinAPI i na dzień dobry napotkałem pewne problemy.
Próbuję kompilować taki kod:
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
{
MessageBox (NULL, TEXT("Tresc komunikatu"), TEXT("Komunikat"), NULL);
return 0;
}
i wszystko jest w porządku. Program (jakże skomplikowany) się uruchamia na komputerze na którym był napisany. Jednak próba odpalenia go na innym komputerze kończy się komunikatem o braku jakiejs biblioteki.
Aby tego uniknąć we właściwościach projektu zaznaczyłem użycie bibliotek statycznych (z "Use Standard Windows Libraries" zmieniłem na "Use MFC in a Static Library") i wtedy zaczęły się problemy z linkerem:
1>------ Build started: Project: example, Configuration: Release Win32 ------
1> WinMain.cpp
1>WinMain.obj : error LNK2001: unresolved external symbol __imp__MessageBoxW@16
1>LIBCMT.lib(wwincrt0.obj) : error LNK2001: unresolved external symbol _wWinMain@16
1>D:\...\example\Release\example.exe : fatal error LNK1120: 2 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Czy ktoś spotkał się z takim problemem? Dodam, że pisząc to samo w Dev'ie nie ma żadnych błędów a program działa na innych komputerach.