Premake не работает с g ++ в Linux?

Premake Версия: 4.3 (скачано Вот)

При запуске make в Linux я получаю следующую ошибку: «g ++: x86_64: такого файла или каталога нет». После удаления $ (ARCH) из CFLAGS, make работает нормально.

Красная шляпа:

  • Версия системы («cat / etc / redhat-release»): Red Hat Enterprise Linux Server версии 6.5 (Сантьяго)
  • Версия ядра («uname -r»): 2.6.32-431.11.2.el6.x86_64
  • «uname -p»: x86_64
  • «uname -m»: x86_64
  • Компилятор C ++: g ++

Ubuntu:

  • Версия системы («cat / etc / issue»): Ubuntu 12.04.5 LTS
  • Версия ядра («uname -r»): 3.2.0-67-generic
  • «uname -p»: x86_64
  • «uname -m»: x86_64
  • Компилятор C ++: g ++

Я также успешно запустил ту же программу на Mac.

Mac:

  • Версия системы: OS X 10.10 (14A389)
  • Версия ядра: Дарвин 14.0.0
  • «uname -p»: i386
  • «uname -m»: x86_64
  • Компилятор C ++: clang

premake4.lua

solution "Hello"configurations { "Debug", "Release" }

configuration { "Debug" }
defines { "_DEBUG", "DEBUG" }
flags   { "Symbols", "ExtraWarnings" }

configuration { "Release" }
defines { "NDEBUG" }
flags   { "Optimize" }

project "hello"
kind "ConsoleApp"language "C++"location "."
files { "hello.cpp" }

hello.cpp — это стандартная программа hello world.

Есть ли причина для $ (ARCH)? Если посмотреть на документацию для clang и g ++, то не похоже, что предоставление только типа архитектуры без флага — это опция компилятора. Я что-то пропустил?

0

Решение

Эта переменная $ (ARCH) была в сгенерированных make-файлах в течение достаточно долгого времени, но, похоже, она изжила себя. Я удалил это сейчас; если все еще есть необходимость добавить флаги в сборку, мы можем найти более безопасное имя.

Вы можете получить фиксированную версию от Premake 4.x хранилище BitBucket.

0

Другие решения


По вопросам рекламы [email protected]