阅读:1319回复:7
奇怪的问题:头文件和实现文件分开就不好使
我在(VToolsD)中自己定义了一个类,并且按照定义和实现分开的原则做成了2个文件.
当我编译的时候,居然说类里面的函数没有包含到符号表中. 我的解决方法: 把实现文件的实现部分直接粘贴到头文件的后面.不要开始的实现文件了.编译通过. #ifndef XXXXX #define XXXXX //.. #endif //加在这里. 但是我觉得这个问题很怪,而且超出了语法规定. 先声明:我的语法功底不存在问题.但是这个问题究竟是怎么回事呢? 编译器的问题? |
|
|
沙发#
发布于:2003-07-22 22:15
我想应该是make文件的问题。
在make文件看看。 |
|
板凳#
发布于:2003-07-23 09:16
你都给贴出来
|
|
|
地板#
发布于:2003-07-24 07:15
你在实现类的文件中INCLUDE你的头文件不行么?
|
|
|
地下室#
发布于:2003-07-25 19:20
to zhanghuhu:
我说过,不会有\"语法\"问题. 不过还是感谢你的回答. .mak文件我修改了,问题不出在这里. 很奇怪,问题解决得不爽. |
|
|
5楼#
发布于:2003-07-25 19:25
rebuild all看看?
我忽然想起来了,以前我也会碰见这种问题 ;) 你的文件扩展名是cpp吗?考虑一下下面的东东? #ifdef __cplusplus extern { #endif ... #ifdef __cplusplus } #endif |
|
6楼#
发布于:2003-07-25 20:08
谢谢楼上的意见.
我用的是.cpp框架,对.cpp文件的处理不存在问题. 你是在什么框架下碰到这个问题的? |
|
|
7楼#
发布于:2003-07-25 22:03
哦,我是用的c frame
|
|