【发布时间】:2010-09-18 19:42:08
【问题描述】:
我正在使用 VS 2008 为我们的大型 VC++ 项目开发新的解决方案配置。我希望此配置使用多核构建标志 /MP。
但是,生成 COM 包装类的“#import”功能遍布整个代码库,使用 /MP 时不支持此功能。
我明白为什么#import 不起作用,我想知道是否有人遇到过这个问题以及他们是如何解决这个问题的?
我正在做以下事情:
- 不要在小型项目或超出帮助的项目上使用 /MP 标志。 (也许我会稍后再回复他们)
- 删除了#import 并将其替换为更标准的 MIDL 生成的标头 (#include)。这只是在几个容易转换为老式 COM 的地方的一个选项。
- 创建一个#imports 剩余库的新项目。先做那个构建。 #包括它在之前#imported 的所有地方创建的 .tlh 文件。
我很好奇是否有人还有其他建议?另外,关于最后一点(创建一个新项目并仅在此处使用#import)- 如果你这样做了像这样的,你是怎么做到的?什么类型的项目,“源”是什么样的,你在哪里输出文件?你是如何包括他们的? (你知道的,为我考虑所有的事情!)
【问题讨论】:
-
如果您想要多核构建,您的最后一个选项似乎是最好的方法 - 它是一致的并且不会浪费工作。抱歉,我无法提供有关它的详细信息,
-
感谢您的评论。事实证明,在构建的不同阶段,我需要几个阶段的 tlh 生成(一场几乎无望的战斗)。我已经把它搁置了——我目前的战斗是离开 VSS。
标签: visual-studio-2008 visual-c++ build-process multicore