所以我正在编写一个 VS2008 C# 插件来自动化 C++ 项目中的 AspectC++ 编织。我正在生成 C++ 源文件(现在与方面交织在一起),但我不知道如何将它们编译为预构建步骤的一部分。是否有一种方便的方法可以在 IDTExtensibility2、EnvDTE90 或 VslangProj90 命名空间中指定新源?我尝试使用 VCProject 和 VCProjectEngine 接口,以及通过“ExcludedFromBuild = false”标志以编程方式标记文件以包含在内。没运气。
我注意到商业 AspectC++ 加载项通过在 cl.exe 周围放置一个包装器和 ac++.exe 方面编译器来绕过它。所以他们必须调用自己的 cl.exe,然后调用 ac++.exe,然后再为真正的编译器准备生成的源文件。这对我来说似乎是一个黑客,没有更好的方法吗?我真的很难过这一点,任何帮助将不胜感激。