Ged*_*nas 5 c++ linux cross-platform precompiled-headers visual-studio
在常规VisualStudio 项目中,您可以通过转到Configuration Properties -> C/C++ -> Precompiled Headers来设置预编译头。
但是,在处理跨平台(Linux) 项目时,缺少预编译头选项。
有没有办法配置预编译头?
显然,在 VisualStudio 2022 中仍然没有简单的方法来添加对预编译头的支持。但幸运的是,我在GTANAdam的 Github 页面上偶然发现了这个有趣的解决方案: https://gist.github.com/GTANAdam/3703fd5cb70d9a22159f58443a129f8b
通过一些小的改变,我成功地使我的项目正常工作。
这chmod +x precompile.sh是必需的,否则您可能会收到错误bash: ./precompile.sh: Permission denied
并且我没有使用建议,而是sh precompile.sh最终使用了./precompile.sh. 此外,该precompile.sh文件现在包含标头#!/bin/bash(而不是#!/bin/sh)
我的文件示例precompile.sh:
#!/bin/bash
gch="PCH.hpp.gch"
header="PCH.hpp"
function compile
{
echo "Generating precompiled header.."
g++ -I../ -std=c++14 -c -x c++-header PCH.cpp -o PCH.hpp.gch
}
if [[ -f $gch ]]; then # File exists
if [[ $header -nt $gch ]]; then
compile
else
echo "Precompiled header already exists.."
fi
else
compile
fi
Run Code Online (Sandbox Code Playgroud)
有些事情需要注意。如果您在 Windows 平台上编辑 bash 脚本文件,请注意,在 Windows 上,在脚本的每个新行中,文本编辑器可能会添加 CR LF 而不仅仅是 LF,并且 Linux bash 可能会开始丢弃如下错误:: not foundsh: 2: precompile.sh:
| 归档时间: |
|
| 查看次数: |
310 次 |
| 最近记录: |