Makefile на Win 64

Я работаю над Windows 64, и нам нужен make-файл для нашего проекта. У нас есть существующий make-файл для Win 32, и мы не знаем, как установить 64-битную среду из файла make.
Если кто-то сделал это или у вас есть примерный сборочный файл Win 64, пожалуйста, поделитесь со мной. Мы получаем следующую ошибку

c:\program files (x86)\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(17) : error C2371: 'size_t' : redefinition; d
ifferent basic types
        predefined C++ types (compiler internal)(19) : see declaration of 'size_t'
C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(81) : fatal error C1189: #error :  "No Target Architecture"
make[3]: *** [shared/anonObject.o] Error 2

что в основном происходит, когда в VS x64 битовая конфигурация не установлена.

2 ответа

Решение

Я установил 64-битную среду в командной строке, затем запустил make-файл с параметром /MACHINE:X64.

Эта ошибка (без целевой архитектуры) выдается препроцессором, если ни _AMD64_ ни _IA64_ определены, что, я полагаю, либо намекает на неправильную установку целевой архитектуры (должно быть сделано /MACHINE:X64 в cl), или вы работаете с действительно экзотическим...

Я не знаю ни о каких других особенностях, касающихся 64-битной компиляции, за исключением, конечно, вам нужно запустить 64-битную версию cl (тот, в VC\bin\amd64).

В связи с этим, также не забудьте связать, используя 64-битные библиотеки вместо 32-битных. Они могут быть найдены в их соответствующих lib\x64 (Windows SDK) и lib\amd64 (Visual Studio) папки.


Дело в том, что size_t уже определен, возможно, можно исправить с помощью

#define _SIZE_T_DEFINED

перед включением sourceannotations.h, Вы определяете size_t самостоятельно? Это сделано в windows.h, который должен определить выше, автоматически.

Другие вопросы по тегам