Может g ++ и minGW на Windows XP используют Windows SDK?
А именно, почему делает g ++, не удайся скомпилировать:
#include
#include
int main(void) {
printf("!!!Hello World!!!");
return EXIT_SUCCESS;
}
Я попытался компилировать путем выполнения:
g++ -c -Wall Test.cpp -IC:/Program\ Files/Microsoft\ Platform\ SDK/Include/
Я получаю унылый перечень начала ошибок компиляции
winnt.h:666:2: #error Must define a target architecture.
Я установил SDK Платформы Windows Server 2003 SP1
Я работаю над большим проектом программного обеспечения обработки изображений в реальном времени, который вплоть до сих пор использовал g ++, minGW и make-файлы гну (записанный вручную). Для новой возможности я должен взаимодействовать через интерфейс со средством захвата кадра, которое имеет SDK, который был разработан для Visual Studio. SDK средства захвата кадра зависит от заголовочных файлов из Windows SDK.
Я должен изучить Visual Studio или есть ли иначе?
Я использую MinGW для компиляции Windows программ каждый день, без проблем. Должно быть что-то не так с вашей установкой - попробуйте версию на Twilight Dragon Media.
Edit: Just re-read your post - you don't need to specify the include directory as you are doing, and probably should not do it. Также, Вам может понадобиться (а может и не понадобиться) слегка загадочный флаг -mwindows. Я только что скомпилировал вашу программу, используя MinGW (сборка TDM) g++ 4.4.1, в командной строке:
g++ main.cpp
безо всяких проблем.
Дополнительная информация: Для того, чтобы вы знали, что делает флаг -mwindows, в документах GCC сказано:
Эта опция доступна для Cygwin и Цели MinGW. Он указывает, что графический пользовательский интерфейс приложение должно быть сгенерировано инструктирующий линкер установить Подсистема заголовка PE вводит соответствующий тип.
Лично я никогда не находил это необходимым, но тогда мои приложения для Windows являются инструментами или серверами командной строки.
попробуйте добавить эти определения, прежде чем включать эти заголовки окон
#define WINVER 0x0501
#define _WIN32_WINNT 0x0501
EDIT: мой gcc без проблем (и без этих определений) компилирует ваш скрипт. Я использую mingw's gcc 4.40 (alpha ?!)
.