多文件编译的问题!

moonlights 2010-08-20 05:36:54
现在这样
我有一个类的定义在a.h里面
a.h里面还有一些模板函数的【声明】。
b.cpp里面是那些模板函数的定义。

我现在在a.cpp最后加上#include "b.cpp"

然后再main.cpp 里面调用#include "a.h"

出现编译错误= = 怎么办

...全文
117 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhahe 2010-08-24
  • 打赏
  • 举报
回复
export 关键字
运算符科技 2010-08-21
  • 打赏
  • 举报
回复
1、不要尝试包含.cpp文件。。
2、模板都放.h里面吧,放.cpp就会出编译错误,有时这个是由于编译器支持导致的。
果冻想 2010-08-21
  • 打赏
  • 举报
回复
这种是编译器导致的
libinfei8848 2010-08-20
  • 打赏
  • 举报
回复
我看晕了
moonlights 2010-08-20
  • 打赏
  • 举报
回复
顶起来
moonlights 2010-08-20
  • 打赏
  • 举报
回复
moonlights 2010-08-20
  • 打赏
  • 举报
回复

我晕了。 我开始没有表达明白好像

这样的。 主程序是 main.cpp
一个类定义在a.h,并且里面还有一些模板函数声明。
模板函数定义在b.cpp里面。 现在我在a.h最后加上include b.cpp。
在main里面include a.h 提示无法连接collect2: ld returned 1 exit status
但是我把a.h 改成a.cpp就可以 这是为什么啊???好郁闷
wing_0706 2010-08-20
  • 打赏
  • 举报
回复
模板是不能分开编译的啊
Rex237 2010-08-20
  • 打赏
  • 举报
回复
在b.cpp中 #include "a.h"
在a.cpp中 #include "a.h"

在main.cpp中 #include "a.h"
DotCpp 2010-08-20
  • 打赏
  • 举报
回复
模板不能分开编。
xixiaoliu 2010-08-20
  • 打赏
  • 举报
回复
不要 include .cpp,include .h
jackyjkchen 2010-08-20
  • 打赏
  • 举报
回复
#include "b.cpp"
这个放在a.h的最后

模板不能分离编译,这种方式是一种变通

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧