VS2008 C++编译器不断要求构建项目

发布于 2024-10-17 19:57:48 字数 361 浏览 7 评论 0原文

可能的重复:
Visual studio 不断构建一切

我有一个项目,其中包含一个生成 . c 文件包含在同一项目的另一个文件中。

我构建了这个项目,一切都很好,然后我尝试运行该项目,但我被告知该项目已过时,我想构建它吗?如果我选择 yes 来构建它,idl 将再次编译。

有没有什么方法可以阻止这种情况,而不将 VS 项目设置设置为从不提示我进行构建?

Possible Duplicate:
Visual studio keeps building everything

I have a project that includes an idl file that generates a .c file that is included in another file of the same project.

I build this project and all is fine, I then try to run the project and I am told the project is out of date and would I like to build it. If I select yes to build it the idl is compiled again.

Is there any way of stopping this without setting the VS project setting to never prompt me for a build?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

摘星┃星的人 2024-10-24 19:57:48

构建一次 .idl 文件后,打开它的属性并启用“从构建中排除”。

如果更新文件,则可以通过在解决方案资源管理器中选择文件并选择“编译”来手动构建它(在我的设置中快捷键是 Ctrl+F7,但这可能会有所不同)。

如果您不将生成的文件包含在版本控制系统中,则还需要重新签出以手动重建 .idl 文件。这种情况尤其会引起很多混乱——可能值得将生成的文件纳入版本控制之下。

另一种选择是创建自定义构建工具(或预构建事件),它将 .idl 文件的上次修改日期/时间与输出文件的上次修改日期/时间进行比较,然后根据需要调用 MIDL。这是VS用来确定是否运行CL的行为,但它不用于MIDL,并且据我所知,无法在VC++ 2008项目文件中启用。

Once you've built the .idl file once, open it's properties and enable "Exclude from Build".

If you update the file, you can build it manually by selecting the file in Solution Explorer and choosing "Compile" (the shortcut is Ctrl+F7 on my setup, but this may vary).

If you don't include the generated files in your version control system, a fresh checkout will also need to manually rebuild the .idl file. This case in particular can cause a lot of confusion - it may be worth including the generated files under version control.

Another option is to create a custom build tool (or pre-build event), which would compare the last modified date/time of the .idl file with the last modified date/time of the output files and then call MIDL if required. This is the behaviour that VS uses to determine whether or not to run CL, but it is not used for MIDL and, as far as I know, cannot be enabled in VC++ 2008 project files.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文