尝试设置预编译头文件
Trying to set up a pre-compiled header
fatal error: can't create precompiled header stdc++.h.gch: Permission denied
我在 stdc++.h 所在目录的 windows powershell 上使用命令 g++ -std=c++14 stdc++.h
时出现上述错误。我该如何解决这个问题?
运行 Powershell 作为管理员,它应该可以正常工作 - 您将获得所需的所有权限。
这里有两点需要考虑。
- 管理权限
- 预编译header
第一个问题的解决方案很简单。您正试图在系统目录中进行更改。我假设以下尝试会成功,但我无法测试。
- 在桌面或任何其他用户目录中创建包含以下行的
my_pch.hpp
。
#include <stdc++.h>
- 编译该目录中的header。
g++ -std=c++14 my_pch.hpp
你应该得到相同的预编译 header。
您应该问问自己为什么需要预编译 header。 do we really need precompiled headers 上的答案提到了项目大小的影响,减少了编译时间,但面临着更多的问题。如果不确定,建议不要使用它们。
fatal error: can't create precompiled header stdc++.h.gch: Permission denied
我在 stdc++.h 所在目录的 windows powershell 上使用命令 g++ -std=c++14 stdc++.h
时出现上述错误。我该如何解决这个问题?
运行 Powershell 作为管理员,它应该可以正常工作 - 您将获得所需的所有权限。
这里有两点需要考虑。
- 管理权限
- 预编译header
第一个问题的解决方案很简单。您正试图在系统目录中进行更改。我假设以下尝试会成功,但我无法测试。
- 在桌面或任何其他用户目录中创建包含以下行的
my_pch.hpp
。#include <stdc++.h>
- 编译该目录中的header。
g++ -std=c++14 my_pch.hpp
你应该得到相同的预编译 header。
您应该问问自己为什么需要预编译 header。 do we really need precompiled headers 上的答案提到了项目大小的影响,减少了编译时间,但面临着更多的问题。如果不确定,建议不要使用它们。