gpt4 book ai didi

c++ - 在绕过 stdafx.h 依赖项的同时在项目之间共享类

转载 作者:行者123 更新时间:2023-11-28 02:05:10 26 4
gpt4 key购买 nike

我有一个 Visual Studio 2010 解决方案,其中包含几个密切相关的项目。想要摆脱复制粘贴代码共享并在项目之间共享一些通用类。我们已尝试将对项目 A 中的类的引用添加到项目 B 中,但在共享类引用错误的 stdafx.h 文件时出现编译错误。请注意,两个项目的预编译 header 都处于启用状态(默认情况下)。

我们还了解到它是not possible to #ifdef the correct stdafx.h使用预处理器定义的文件。

在这一点上,我们的选择似乎是构建一个静态库项目或多个项目并从项目 A 和 B 中引用它,或者尝试将正确的 stdafx.h 文件复制到共享代码子文件夹。第三种方法是重新设计这两个项目,使其完全不使用 stdafx.h。

所有这些选项对我来说似乎都太过分了。是否有我缺少的更简单的解决方案?

最佳答案

当我读到你的问题时,我脑子里突然想到的两个是:

  1. 关闭预编译 header 。
  2. 将公共(public)代码编译为共享库。

在您的实例 1 中,您可以更快地提高工作效率,但不要从项目中删除 stdafx,因为这意味着必须检查您的项目并关闭预编译 header 。只需删除您添加的所有内容并将其保留为两个项目的默认值。我已经有一段时间没有这样做了,但我想我随后会右键单击并单独编译每个 cpp 文件。这将为您提供该编译单元缺少的头文件。添加它们,然后冲洗并重复每一个。

通过静态分析运行代码会突出显示可以加快编译速度的事情(前向声明与包含等)。

关于c++ - 在绕过 stdafx.h 依赖项的同时在项目之间共享类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37801707/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com