代码之家  ›  专栏  ›  技术社区  ›  TrampolineTales

无法在Mac上使用通配符(*)编译多个C++文件,在Windows上运行良好

  •  2
  • TrampolineTales  · 技术社区  · 9 年前

    我试图在Sublime Text 2中使用g++同时编译多个C++文件 sublime-build file 。使用通配符在我的Windows桌面上很好,但在我的Macbook上不起作用,我如何让通配符在Mac上起作用?

    崇高构建文件:

    {
    "cmd": ["g++", "-std=c++11", "-I", "/Users/Dan2/YorickTheSavant/include",
    
    "/Users/Dan2/YorickTheSavant/src/*",
    
    "-o", "/Users/Dan2/YorickTheSavant/Yorick the Savant",
    "-F", "/Users/Dan2/Library/Frameworks",
    "-framework", "sfml-system",
    "-framework", "sfml-window",
    "-framework", "sfml-graphics"],
    
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "/Users/Dan2/YorickTheSavant/",
    "selector": "source.c, source.c++",
    
    "variants":
    [
        {
            "name": "Run",
            "cmd": ["/Users/Dan2/YorickTheSavant/Yorick the Savant"]
        }
    ]
    }
    

    输出:

    clang: error: no such file or directory: '/Users/Dan2/YorickTheSavant/src/*'

    1 回复  |  直到 9 年前
        1
  •  4
  •   Community dbr    7 年前

    问题在于:

    Using G++ to compile multiple *.cpp and *.h files in Sublime 2

    使用*的原因。Sublime文本中的cpp失败,gcc不失败 通配符扩展。在命令行中使用wild运行gcc时 卡片,shell将其展开并给gcc一个文件名列表。所以 你需要知道如何通过 通配符或其他类似方法)。

    OP能够使用此解决方法:

    {
    "cmd" : ["g++ *.cpp -o executablename"],
    "shell":true
    }