У меня есть 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"
внутри stdafx.cpp
в lib
, но я получил ту же ошибку.
Редактировать: Так как мои заголовочные и исходные файлы разделены на разные папки, я попытался переместить stdafx.h
в папку stdafx.cpp
, и теперь компилятор может найти stdafx.h
, но у меня есть другая ошибка, что моя другая .h
файлы, включенные в stdafx.h
, не найдены.Это означает, что проблема будет решена, если я объединю свои заголовки и исходные файлы в одну папку, но я хочу, чтобы они были разделены.Есть ли способ указать путь к stdafx.h
, кроме методов, которые я пробовал?