【发布时间】:2016-06-14 01:44:37
【问题描述】:
我有一个 Visual Studio 2010 解决方案,其中包含几个密切相关的项目。想摆脱复制粘贴代码共享并在项目之间共享一些通用类。我们尝试将项目 A 中的类的引用添加到项目 B 中,但在共享类引用错误的 stdafx.h 文件时出现编译错误。请注意,两个项目的预编译头文件都处于启用状态(默认情况下)。
我们还了解到它是使用预处理器定义的not possible to #ifdef the correct stdafx.h 文件。
此时看起来我们的选择是构建一个静态库项目或多个项目并从项目 A 和 B 中引用它,或者尝试将正确的 stdafx.h 文件的一些预构建事件复制到共享代码子文件夹。第三是重新设计这两个项目以完全不使用 stdafx.h。
所有这些选项对我来说似乎都是多余的。有没有我想念的更简单的解决方案?
【问题讨论】:
-
我认为,最好的选择确实是使用公共代码创建一个静态库,正如您已经发现的那样......
-
一种解决方案是在关闭预编译头文件的情况下进行构建。这完全摆脱了 stdafx.h。
-
您是否尝试过创建新过滤器并在该过滤器中添加来自其他项目的类。这有助于明确其他项目类的来源,您可以将 stdafx.h 添加到该过滤器中。
标签: c++ visual-studio code-sharing