@mardari98

Почему код не компилируется в Visual Studio 2019?

Пытаюсь скомпилировать этот код (из книги):
spoiler
#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
 LPSTR lpCmdLine, int nCmdShow)
{
 MessageBox(NULL, "Hello, Win32 world!", "Hello from Message Box", MB_OK);
 return 0;
}

В devc++ компилируется без вопросов, а вот в Visual Studio ошибки:
spoiler
5e4c32de8aaea983723768.png


Почему так происходит и как решить проблему?

UPD: Насколько я понял, проблема в том, что нет main функции (но почему тогда в devc++ это не проблема, да и в книге ни о каком main ни слова).
Сделал так:
int main() {
    WinMain(0,0,0,0);
    return 0;
}

Наобум тыкнул нули вместо аргументов, не знаю, правильно ли сделал. Но скомпилилось. Китайские буквы вместо латинских. Поменял "Hello, Win32 world!" на (LPWSTR)L"Hello, Win32 world!".

И вроде как работает всё как надо, но правильно ли это всё? Почему в одной среде всё ок, и не нужно создавать костыли, а в "самой лучшей IDE" на планете такая беда?
  • Вопрос задан
  • 5476 просмотров
Решения вопроса 1
@menkar3
Потому что точка входа в приложение задается в студии настройках проекта, а вы, как я понимаю, создали дефолтный=)
Первая ссылка в гугле: https://stackoverflow.com/questions/18067870/what-...
Оф. документация - https://docs.microsoft.com/en-us/cpp/build/referen...
Вкратце:
5e4c3eb70af5d542955543.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы