我有一个dll
,我使用msbuild
和命令msbuild dll.vcxproj /p:Configuration=Debug
来构建,它取决于静态的lib
。我的lib
有stdafx.h
和stdafx.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)中,lib
和dll
都包含了stdafx.h
和stdafx.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
的路径?