2016-07-03 2 views
0

Я собираюсь скомпилировать супероптимизатор на окнах. (https://github.com/bonzini/superopt) К несчастью, мои знания о производстве очень ограничены. Я пробовал:Компиляция superopt на окнах

make CPU=-D386 superopt 

Что дает мне ошибку:

cc  superopt.c -o superopt 
process_begin: CreateProcess(NULL, cc superopt.c -o superopt, ...) failed. 
make (e=2): The system cannot find the file specified. 
make: *** [superopt] Fehler 2 

После установки компилятора GCC вручную:

make CPU=-D386 superopt CC=gcc 

Я получаю следующее сообщение об ошибке:

gcc  superopt.c -o superopt 
In file included from superopt.c:27:0: 
superopt.h:104:2: error: #error You have to choose target CPU type (--with-arch). 
#error You have to choose target CPU type (--with-arch). 
^
In file included from superopt.h:130:0, 
       from superopt.c:27: 
longlong.h:1465:14: error: unknown type name 'UQItype' 
extern const UQItype __clz_tab[]; 
      ^
superopt.c:32:21: fatal error: version.h: No such file or directory 
compilation terminated. 
make: *** [superopt] Fehler 1 

Кажется, он правильно не выбирает i 386. Любые подсказки были бы высоко оценены.

ответ

1

That не является исходным кодом GNU superopt. Это исходный код чей-то проекта для исправления GNU superopt, последнее обновление 2008 года, и, казалось бы, покинул область хард-хэтов.

This - исходный код GNU superopt. Распакуйте архив и строить, как вы пытались с:

make CC=gcc CPU=-DI386 superopt 

Примечание: I386, не 386.

Вы увидите предупреждения как:

warning: incompatible implicit declaration of built-in function 'foo' 

, потому что код 20 yearold C не прилежно включают стандартные заголовков, Prototype стандартных функций, которые он называет, но superopt будет строить успешно.

+0

Спасибо, Майк, который приблизил мои два шага. Мне пришлось включить stdlib.h. Но у меня все еще много ошибок. например, отсутствующий завершающий символ строки. Я думаю, что он не понимает \ следующей строки. –

+1

@DanyBittel Добро пожаловать в Stackoverflow. Я не уверен, если вы считаете, что ваш вопрос ответил, но если вы это сделаете, то способ сказать Спасибо. [accept] (http://stackoverflow.com/help/accepted-answer) ответ, отметив соседнюю галочку. –

Смежные вопросы