以下是该方案:
我正在编写VS解决方案的构建系统。为了使我的解决方案可移植,我通过属性管理器添加自定义属性,以便我可以为解决方案中的每个项目可以继承的包定义全局路径。一切正常,直到这里。
但对于我的解决方案中的一些项目,我也使用了一些第三方包含。除了全局包含之外,这些第三方包含文件夹目前通过这些项目的属性添加。
我想做的是将这些第三方包含在这些项目之外,并将它们放在我的全局包含文件夹中。这样,我有一个干净的解决方案,每个项目中只有源代码,所有包含都在一个全局文件夹中。
因此,不需要这些第三方包含的项目也将继承它们,因为它们位于全局包含文件夹中。
我的问题是 - 如果项目的源代码确实具有文件的#include,但该文件仍在附加包含目录设置中指定,那么它是否会在编译中被拉入。
如果没有,那么我的方法效果很好。如果它包含文件,即使源代码没有调用,那么我得到一个膨胀的dll。
任何指针?在VS 2010中是否有任何优化标志/设置我可以设置为忽略不包含源代码的包含文件或编译过程是否自动处理它?</ p>
我确实尝试搜索类似的问题,但未找到与我的需求密切配合的问题。