msbuild无法找到预编译的头文件

时间:2018-10-25 18:31:42

标签: c++ msbuild precompiled-headers

我有一个dll,我使用msbuild和命令msbuild dll.vcxproj /p:Configuration=Debug来构建,它取决于静态的lib。我的libstdafx.hstdafx.cpp,它们位于不同的文件夹中。

我正在为/Yc使用stdafx.cpp(创建),为其余/Yu使用lib(使用)。但是,我得到了错误-fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory [lib path.vcxproj]

在我的项目设置(Visual Studio 2017)中,libdll都包含了stdafx.hstdafx.cpp的路径。我试图在stdafx.cpp的属性中指定创建预编译头的路径,但是又遇到另一个错误-C2857: '#include' statement specified with the /Ycstdafx.h command-line option was not found in the source file stdafx.cpp

我还尝试过使用相对路径(即#include "../path/stdafx.h"),而不只是在#include "stdafx.h"的{​​{1}}内使用stdafx.cpp,但是我遇到了同样的错误。

编辑:由于我的头文件和源文件位于不同的文件夹中,因此我尝试将lib移到stdafx.h的文件夹中,现在,编译器可以找到{{1} },但还有另一个错误,即找不到stdafx.cpp中包含的其他stdafx.h文件。这意味着,如果我将标题和源文件合并到一个文件夹中,但我希望将它们分开,则将解决该问题。除了我尝试过的方法以外,是否还有其他方法可以指定.h的路径?

0 个答案:

没有答案