gcc - 尝试设置预编译的标头
问题描述
fatal error: can't create precompiled header stdc++.h.gch: Permission denied
g++ -std=c++14 stdc++.h
在 stdc++.h 所在目录中的 windows powershell 上使用命令时出现上述错误 。我该如何解决 ?
解决方案
这里有两件事需要考虑。
- 管理权限
- 预编译头文件
第一个的解决方案很简单。您正在尝试在系统目录中进行更改。我假设以下尝试会成功,但我无法测试。
- 在桌面或任何其他用户目录中创建
my_pch.hpp
包含以下行的内容。#include <stdc++.h>
- 编译该目录中的头文件。
g++ -std=c++14 my_pch.hpp
您应该得到相同的预编译头文件。
您应该问自己为什么需要预编译头文件。关于我们是否真的需要预编译头文件的答案提到了项目大小的影响,编译时间的减少,但面临进一步的问题。如果您不确定,建议不要使用它们。
推荐阅读
- python - 使用 uwsgi 时出现 conda env 问题
- scikit-learn - 隐藏 RandomizedSearchCV 输出
- qt - 是否可以更改可检查 QGroupBox 的默认行为?
- c++ - C++ 指针(数组)
- python - Python 中 %y 和 %Y 之间不同 CSV 表的日期时间不匹配
- python - 检查字符串是否是回文不能正常工作
- python - 尝试使用 SqlAlchemy 将数据帧存储到 mysql 获取 AttributeError:'Timestamp' 对象没有属性 'translate'
- css - 将 CSS 规则应用于所有元素,除了一个带有它的子元素
- javascript - 使用 react-native-svg 动画静态 SVG 文件
- r - 由于重复值,pivot_wider 和唯一标识符的问题