0

Premake 版本:4.3(在此处下载)

在 Linux 上运行 make 时,出现以下错误:“g++: x86_64: No such file or directory。” 从 CFLAGS 中删除 $(ARCH) 后,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 上成功运行了相同的程序。

苹果电脑:

  • 系统版本: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++ 的文档,似乎只提供没有标志的架构类型是编译器选项。我错过了什么吗?

4

1 回答 1

0

$(ARCH) 变量在生成的 makefile 中已经存在了很长一段时间,但它似乎已经过时了。我暂时删除了它;如果仍然需要在构建中注入标志,我们可以找到一个更安全的名称。

您可以从Premake 4.x BitBucket 存储库中获取固定版本。

于 2014-11-19T17:32:45.973 回答