预制在 Linux 上无法使用 g++

Premake not working with g++ on Linux?

本文关键字:g++ Linux      更新时间:2023-10-16

预制版:4.3(下载到这里)

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

红帽:

  • 系統版本("cat/etc/redhat-release"):Red Hat Enterprise Linux Server version 6.5 (Santiago)
  • 内核版本("uname -r"): 2.6.32-431.11.2.el6.x86_64
  • "uname -p": x86_64
  • "uname -m": x86_64
  • C++编译器:g++

乌班图:

  • 系统版本("cat/etc/issue"):Ubuntu 12.04.5 LTS
  • 内核版本("uname -r"):3.2.0-67 通用
  • "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++ 编译器:叮当

预制件4.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++ 的文档来看,似乎只提供没有标志的体系结构类型是一个编译器选项。我错过了什么吗?

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

您可以从预制件 4.x BitBucket 存储库获取固定版本。