在.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位于外部库的文件夹中,我们不希望硬编码从项目到该文件夹的路径(我们有一个非常大的解决方案)
发布于 2009-10-15 21:15:29
请尝试将“Lib3rdParty”的环境变量设置为适当的相对路径片段。
发布于 2009-05-22 07:12:52
通常的解决方案是将第三方的包含、库和源代码包含在你自己的源代码中,这样你就可以用你的源代码跟踪第三方依赖项的变化。
如果是这种情况,您应该能够使用从每个项目到第三方源文件的相对路径。
然而,如果你的解决方案很大,而且它有复杂的项目设置,那么你应该看看CMake,即使你只在windows上构建。CMake使您能够使用仅在一个位置指定的公共设置来描述构建环境。更复杂的情况可以用变量和宏来处理。然后,它将根据此描述生成您的visual studio项目或makefile。我们引入它是为了支持unix端口,现在我也只将它用于windows开发。
VS项目使用起来真的很笨拙,打开和关闭对话框,设置调试和发布。每个项目都有自己的设置副本,但大多数情况下与所有其他项目相同。
发布于 2010-05-24 10:57:59
如果您从不同的驱动器添加现有文件,您将注意到使用的是绝对路径。
至少在v8.00中,宏似乎没有扩展。我尝试了VC、Ant和OS宏格式--都不起作用。
sysinternals的连接选项、映射的网络路径或在项目/全局源、包含和库路径中设置了宏规范的.lib始终存在。即使使用lib包,您也应该能够进入源代码。
https://stackoverflow.com/questions/896371
复制相似问题