clang - 使用默认标志构建

clang - build with default flags

我想用clang来交叉编译。我发现这看起来很简单,我可以指定 architectures/includes 等,就像我直接调用 clang 一样。

但是,我不想继续传递这些标志,我宁愿编译 clang 以便它默认具有这些标志。

那是,当我像 clang++ main.cpp 一样调用 clang 时,我希望它变成 clang++ -i686-w64-mingw32 -target-isystem=/usr/some/path main.cpp 等,我该怎么做?

改用生成文件。或者在你的 bashrc 中创建一个别名。其他一切都是我不会使用的粗糙技巧。

您可以使用响应文件来执行此类操作,这也是您避免使用对 OS.

来说太长的命令行的方法

类似于:

clang @target_cmds.inc -c foo.c

可能对你有用。

(除了一些构建系统 hackery 或别名的早期评论,您还可以将 clang 定义为您调用的包装器脚本,它执行相同的操作,例如:

#!/bin/sh
clang -target i686-w64-mingw32 -target-isystem=/usr/some/path $@