Tra*_*les 2 c++ macos sublimetext2
我正在尝试在 Sublime Text 2 sublime-build file中使用 g++ 一次编译多个 C++ 文件。使用通配符在我的 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"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
输出:
clang: error: no such file or directory: '/Users/Dan2/YorickTheSavant/src/*'
问题是这样的:
在Sublime 2中使用G++编译多个*.cpp和*.h文件
在 Sublime Text 中使用 *.cpp 失败的原因是,gcc 不做通配符扩展。当您使用通配符从命令行运行 gcc 时,shell 会展开它们并为 gcc 提供文件名列表。因此,您需要了解如何在 Sublime Text 中执行等效操作(通过通配符或其他类似方法获取文件名)。
OP 能够使用此解决方法:
{
"cmd" : ["g++ *.cpp -o executablename"],
"shell":true
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1110 次 |
| 最近记录: |