内部.vcproj files您的项目中有一个所有源文件的列表。
我们如何使用宏来指定源文件的路径? 如果我们这样做:
<File
RelativePath="$(Lib3rdParty)\Qt\qtwinmigrate-2.5-commercial\src\qmfcapp.cpp">
</File>
编译器找不到文件夹:
qmfcapp.cpp
c1xx : fatal error C1083: Cannot open source file: '.\$(lib3rdparty)\qt\qtwinmigrate- 2.5-commercial\src\qmfcapp.cpp': No such file or directory
如您所见,我们的项目编译了来自 QT 的几个源文件。 QT 位于外部库的文件夹中,我们不希望对从项目到该文件夹的路径进行硬编码(我们有一个非常大的解决方案)
最佳答案
正常的解决方案是将第 3 方包含、库和源代码与您自己的源代码一起包含在源代码控制中,这样您就可以使用您的源代码跟踪对第 3 方依赖项的更改。
如果是这种情况,您应该能够使用从每个项目到第 3 方源文件的相对路径。
但是,如果您的解决方案很大,并且项目设置复杂,您应该查看 CMake ,即使您只在 Windows 上构建。 CMake 使您能够使用仅在一处指定的通用设置来描述您的构建环境。更复杂的情况可以用变量和宏来处理。然后它会根据此描述生成您的 visual studio 项目或 makefile。我们引入它是为了支持 unix 端口,现在我也将它用于仅限 Windows 的开发。
VS 项目使用起来真的很笨拙,打开和关闭对话框,设置调试和发布的东西。每个项目都有自己的设置拷贝,但大部分与所有其他项目相同。
关于c++ - 在 .vcproj RelativePath 中使用 "User Macro",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/896371/