C++ Premake不使用g++;在Linux上?

C++ Premake不使用g++;在Linux上?,c++,linux,redhat,premake,C++,Linux,Redhat,Premake,Premake版本:4.3(已下载) 在Linux上运行make时,我遇到以下错误:“g++:x86_64:没有这样的文件或目录。”从CFLAGS中删除$(ARCH)后,make工作正常 红帽: 系统版本(“cat/etc/redhat发行版”):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++编译

Premake版本:4.3(已下载)

在Linux上运行make时,我遇到以下错误:“g++:x86_64:没有这样的文件或目录。”从CFLAGS中删除$(ARCH)后,make工作正常

红帽:

  • 系统版本(“cat/etc/redhat发行版”):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)
  • 内核版本:Darwin14.0.0
  • “联塞特派团-p”:i386
  • “uname-m”:x86_64
  • C++编译器:铿锵
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程序

美元(拱门)有什么原因吗?从clang和g++的文档中可以看出,仅仅提供没有标志的架构类型似乎不是一个编译器选项。我遗漏了什么吗?

该$(ARCH)变量在生成的makefile中已经存在了相当长的一段时间,但它似乎已经不再有用了;如果仍然需要向构建中注入标志,我们可以找到一个更安全的名称


您可以从中获得一个固定版本。

这可能是一个bug。尝试在未定义ARCH环境变量的情况下运行premake。谢谢@n.m。!这是可行的,但似乎是一种变通办法。我可以在premake4.lua脚本中添加一个shell脚本调用来取消设置它,或者每次打开一个新的shell时手动取消设置它,但这两个选项似乎都是问题的临时解决方案。这确实是一个解决方法。向premake维护人员提交bug?