Сборка Lua 5.0 на 64-битном Mac

Из соображений совместимости / наследства мне нужно собрать компилятор Lua (luac) версии 5.0 на моем 64-битном Intel Mac. (5.1 или более поздняя версия не может быть использована.)

Инструменты разработчика, установленные через окно настроек Xcode 4.6.

После того, как я 'cd' в каталог Lua, я ввожу команду 'make'.

cd include; make all
make[1]: Nothing to be done for `all'.
cd src; make all
make[1]: Nothing to be done for `all'.
cd src/lib; make all
make[1]: Nothing to be done for `all'.
cd src/luac; make all
gcc -o ../../bin/luac  luac.o print.o lopcodes.o -L../../lib -llua -llualib -lm
Undefined symbols for architecture x86_64:
  "_UNUSED", referenced from:
      _writer in luac.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[1]: *** [../../bin/luac] Error 1
make: *** [all] Error 2

Я не знаю, как настроить процесс make для x86_64. Может ли кто-нибудь, пожалуйста, шаг за мной?

Благодарю.

1 ответ

Решение

Это работает для меня, но вывод ниже отличается от вашего:

...
cd src/luac; make all
gcc -O2 -Wall -I../../include -I..      -c -o luac.o luac.c
gcc -O2 -Wall -I../../include -I..      -c -o print.o print.c
gcc -o lopcodes.o -c -O2 -Wall -I../../include -I..    -DLUA_OPNAMES ../lopcodes.c
gcc -o ../../bin/luac  luac.o print.o lopcodes.o -L../../lib -llua -llualib -lm 
cd src/lua; make all
gcc -O2 -Wall -I../../include      -c -o lua.o lua.c

Пытаться make clean all на верхнем уровне первым.

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