预编译标题与GCC / GMake导致`pragma`警告(Premake)

时间:2015-10-08 01:47:30

标签: c++ gcc gnu-make premake

在我的Premake文件中,我去了:

pchheader("../../"..dir_root.."stdafx.h")

我发现这至少部分有效。 (对于Windows上的ICC,调用有所不同。)

编译时,我收到一个警告:

stdafx.h
../../mylibrary/stdafx.h:1:9: warning: #pragma once in main file
 #pragma once
         ^

我相信这是来自GCC编译预编译的头文件(好像它是某种主文件)。所以,这个警告是(有点?)合理的。

我宁愿不删除明显在#pragma once中的stdafx.h(虽然我想这会修复警告),因为构建中没有使用PCH。

这是我唯一的选择,还是我还能做些什么?我正在对进行标记,因为使用其中任何一个的解决方案(例如,更改编译参数,对Premake进行不同的调用)都可以。

1 个答案:

答案 0 :(得分:0)

好吧,在C ++中,您的主文件(包含主函数的文件#pragma once)不应该有stdafx.h,因为它仅适用于头文件。所以好像你的主要功能在{{1}}时就不应该了。如果是,请将其放在.cpp文件中并在那里包含您的头文件。

这只是一个警告,所以不要担心。