首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C++中构建项目的问题

在C++中构建项目的问题
EN

Stack Overflow用户
提问于 2009-12-06 20:39:00
回答 2查看 127关注 0票数 0

我正在用C语言做一个项目,但我在构建它时遇到了问题。它是:

我的项目中有两个单独的子systemsA和B,它们使用另一个子systemC的功能。要做到这一点,他们#包括必要的头文件。义务是子文件和B都必须单独构建,我的意思是我对子系统有两个单独的‘Makefile’,并且我分别在每个子系统上运行‘systemsA’。

现在,当我尝试将我所有的subsystemsA、B、C合并到一个项目中时,gcc告诉我,一些函数已经声明了,这些函数属于子系统C。

我意识到头文件是在编译时包含的,也就是说,当我在子systemsA和B上使用'make‘时,当我试图联合所有它们时,它们实际上是双重声明的。

有人能帮我解决这个问题吗?任何不需要我同时编译子systemsA和B的解决方案都会很好。

EN

回答 2

Stack Overflow用户

发布于 2009-12-06 20:46:43

您可以使用#ifndef ..来避免双重包含头文件

代码语言:javascript
复制
#ifndef <some name identifying the header file>
#define <some name identifying the header file>
//
//

// header file content will go here 

//

// 
#endif
票数 0
EN

Stack Overflow用户

发布于 2009-12-06 20:48:01

你的C-header文件是只包含声明还是包含实现?

如果它包含实现,那么你应该把它拿出来单独编译。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1855290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档