在我的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。
这是我唯一的选择,还是我还能做些什么?我正在对gcc和premake进行标记,因为使用其中任何一个的解决方案(例如,更改编译参数,对Premake进行不同的调用)都可以。
答案 0 :(得分:0)
好吧,在C ++中,您的主文件(包含主函数的文件#pragma once
)不应该有stdafx.h
,因为它仅适用于头文件。所以好像你的主要功能在{{1}}时就不应该了。如果是,请将其放在.cpp文件中并在那里包含您的头文件。
这只是一个警告,所以不要担心。