2015-03-26 2 views

ответ

2

Мастер вы ищете, находится по адресу:

File> New> Other ...> C++ Builder проекты> консольного приложения

Однако диалог мастера был нарушен, так как XE2 и по-прежнему не исправлена ​​в последней версии (XE7 на момент написания этой статьи).

  1. Диалог имеет раскрывающийся список, чтобы выбрать «Целевая структура». Если вы установите значение «Нет», вы можете получить «нерешенные внешние» ошибки во время ссылки. Поэтому вам может потребоваться выбрать «Visual Component Library» или «FireMonkey».

  2. В диалоговом окне установлен флажок «Консольное приложение», который по умолчанию отмечен и отключен от взаимодействия с пользователем.

    screenshot

    Таким образом, вы можете создать только консольное приложение, которое использует точку входа main(), а не приложение Win32, который использует точку входа WinMain(). К счастью, есть обходной путь в реестре:

    HKEY_CURRENT_USER\Software\Embarcadero\BDS\<version>\Repository\New Console Application 
    
    (REG_SZ) "ConsoleApp" = "True" or "False" 
    

    Набор "ConsoleApp" к "True" или "False" указать состояние CheckBox по умолчанию. Установив его на "False", вы можете создать консольное приложение, которое использует точку входа WinMain().

В качестве альтернативы, другой способ создать приложение Win32 с точкой входа WinMain() является создание новой VCL Forms Application и удалить по умолчанию генерируется MainForm из проекта и удалить любой код, который вы не хотите от значения по умолчанию сгенерировано WinMain().

Embarcadero знает об ошибках (я обсуждал это с ними конфиденциально, и они подтвердили, что в коде диалога есть некоторые странности, вызывающие эту проблему). Я не вижу никаких билетов QualityCentral для них, поэтому я теперь подал билет QualityPortal.

RSP-10796 C++ Console Application wizard is broken

Надеется, что они будут наконец исправлены.

+0

«Альтернативно» способ кажется намного проще. Если что-то не имеет консольного окна, это не консольное приложение. –

+0

Да, «альтернативный» подход - это то, как я обычно это делаю, но ценой связи с VCL, что не всегда желательно. В старые времена было полезно иметь возможность создавать простые приложения Win32 для Winilla без этой зависимости. –

Смежные вопросы