c++ - MFC-C代码合并问题

标签 c++ c user-interface mfc merge

我正在 C 代码之上编写 MFC-GUI,从 C 代码获取 lib 和包含文件后,我遇到了下面提到的许多变量的重新定义错误 -

error C2011: 'fd_set' : 'struct' type redefinition

error C2011: 'timeval' : 'struct' type redefinition

error C2011: 'hostent' : 'struct' type redefinition
error C2011: 'netent' : 'struct' type redefinition

error C2011: 'servent' : 'struct' type redefinition

error C2011: 'protoent' : 'struct' type redefinition

还有更多......

它与代码无关,因为它独立工作正常,所以我在合并配置方面需要一些帮助。 我是怎么做的- 我创建了一个新的 MFC 项目 + 解决方案,在其中添加了一个对话框,构建它 - 工作正常;现在,我在上述解决方案中添加了一个现有的 C 项目,并为添加的 C 项目配置了 MFC 项目。在配置中,我已经给出了所有必需的库和包含路径。 现在,我试图从 MFC 代码中包含 C 代码文件,它给了我上述错误。

我是否遗漏了什么或添加了错误的内容?

请帮我解决这个问题。

谢谢。

最佳答案

  1. 确保在所有 .h 文件的顶部添加 #pragma Once

  2. 检查是否多次包含 .h 文件。

    例如。 如果您的 main.cpp 包含 head1.hhead2.h 以及 head1.h并且 head2.h 包含一个通用 header ,例如 utils.h ,它可能会导致此类重新定义问题。 检查并消除此类事件(如果有)。

关于c++ - MFC-C代码合并问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24830142/

相关文章:

c# - 用于多平台大型软件开发的编程语言?

java - 调用单独的 Java 文件来打开第二个 GUI 窗口

c++ - 设置窗口像素的正确(无闪烁)方式?

c++ - 找到第二个最小值

c++ - 了解 gettimeofday 系统调用

我们可以用 c 将引号替换为其他字符吗?

c - 获取链表的节点号n

c++ - GCC 模板问题

java - 当我包含 header 时,Gradle 将不会构建可执行文件

user-interface - Swing 动画 : is there a GUI library animation like jquery (javascript) but for java?