Как мне скомпилировать проект C ++ с флагом заголовка «DOS EXE» == false? - PullRequest
0 голосов
/ 14 декабря 2010

У меня есть exe-проект VS2010 C ++, который я хочу скомпилировать, чтобы флаг "DOS EXE" в заголовке exe был установлен в значение false.Это (надеюсь) избежать создания файла CONHOST.exe при запуске исполняемого файла.У исполняемого файла нет пользовательского интерфейса.

В данный момент я при запуске вызываю ::FreeConsole, чтобы избавиться от процесса CONHOST.exe, но предпочел бы, чтобы CONHOST.exe никогда не создавался впервое место.

Как я могу это сделать?

В дополнение к выбранному ответу я «исправил» свой код, добавив WinMain, который обращается к существующему основному, следующим образом:

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)
{
  int argc;
  LPWSTR* argv = CommandLineToArgvW(pCmdLine, &argc);
  _tmain(argc, argv);
  LocalFree(argv);
}

1 Ответ

2 голосов
/ 14 декабря 2010

Вы можете попробовать изменить значение Подсистемы в настройках компоновщика с CONSOLE на WINDOWS.Это предотвратит генерацию консольного кода в двоичном коде компилятором.Обратите внимание, что вам нужно использовать функцию WinMain () вместо main ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...