Линкер не использует библиотеку времени выполнения по умолчанию при связывании только библиотек (без объектов)

Я хочу, чтобы пользователи могли повторно связать мое приложение, использующее Qt, с их собственной сборкой Qt, без необходимости перестраивать все исходные коды. Это может быть использовано для соответствия LGPL, например. Для этого мне нужно предоставить объектные файлы для всех моих источников. Чтобы сделать это проще, используя qmake, я разделил проект на:

A проект статической библиотеки который содержит объекты для всех исходных файлов, включая файл, который имеетint main(int, char**).

проект приложения которая связывает статическую библиотеку выше с Qt. Qt может быть статической библиотекой или динамической. Для этого проекта нет исходных файлов.

Затем я распространяю статическую библиотеку (.lib) ифайл проекта приложения так что любой может связать приложение с собственной версией Qt, в зависимости от того, какой способ он предпочитает (статически связанный Qt или динамически связанный Qt), если у них есть необходимая версия MSVC.

Я делаю сборку под MSVC 2008 (Qt 4) и 2012 (Qt 5). Makefiles генерируются qmake.

Проблема заключается в том, что при построениипроект приложения.

LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup

Как только я добавлю фиктивный исходный файлdummy.cpp кпроект приложениясвязывание успешно. Есть ли способ избежать этого обходного пути?

//dummy.cpp (this is the entire source)
int dummy;

Ответы на вопрос(1)

Ваш ответ на вопрос