Makefile на Win 64 - PullRequest
       14

Makefile на Win 64

1 голос
/ 07 февраля 2011

Я работаю на Windows 64, и нам нужен make-файл для нашего проекта.У нас есть существующий make-файл для Win 32, и мы не знаем, как установить 64-битную среду из файла make.
Если кто-то сделал это или у вас есть примерный 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 не установлена ​​64-битная конфигурация.

Ответы [ 2 ]

2 голосов
/ 07 февраля 2011

Эта ошибка ( No Target Architecture ) генерируется препроцессором, если не определены ни _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, что должно автоматически определять вышеупомянутое.

0 голосов
/ 10 февраля 2011

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

...