Название: Ошибка при построении Release в VC 2010 Express. Отправлено: alsav22 от Апрель 24, 2012, 18:44 Использую qt-win-opensource-4.8.1-vs2010 с VC 2010 Express. Проект разделён на три файла:
mainwindow.h Код: #include <QtGui> mainwindow.cpp Код: #include "mainwindow.h" main.cpp Код: #include "mainwindow.h" После первого построения (с ошибками), в файлы исходного кода добавляется: moc_mainwindow.h.cpp, который создаётся moc , для чего в Свойста проекта, Все конфигурации, События постороения, Событие перед постороением, Командная строка, добавленно: Код: moc -o moc_mainwindow.h.cpp mainwindow.h Построение Debug нормально проходит. Если Release, то: Код: 1>------ Построение начато: проект: Qt5, Конфигурация: Release Win32 ------ Если для Release в Свойствах проекта, Компоновка, Ввод, Игнорировать все стандартные библиотеки - прописать: msvcrtd.lib, то: Код: 1>------ Построение начато: проект: Qt5, Конфигурация: Release Win32 ------ Что можно сделать? Причину нашёл. Ошибка появляется, если в Свойстах проекта, Все конфигурации, Компоновщик, Система, Подсистема прописана Windows. На Debug это никак не отражается, а при Release появляются описанные выше ошибки. Если для Release выставить Консоль или Не задано, тогда ошибок нет, но при запуске приложения открывается окно консоли, которое мне совершенно не нужно. Как это можно разрулить? Название: Re: Ошибка при построении Release в VC 2010 Express. Отправлено: alsav22 от Апрель 27, 2012, 21:28 Решение. Подключить заголовочный файл #include <Windows.h> .
Вместо Код: int main(int argc, char **argv) Код: int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpcmdline, int ncmdshow) Код: QApplication app(argc, argv); Код: QApplication app(ncmdshow, (char **)lpcmdline); |