s*******y 发帖数: 558 | 1 Makefile编译中间错误信息是:
./main.C:5: undefined reference to 'Empty::Empty[in-charge](int const&)'
collect2: ld returned 1 exit status
make: *** [main] Error 1
Empty.H文件如下:
#ifndef EMPTY_H_
#define EMPTY_H_
template
class Empty{
public:
Empty(const Object& obj);
private:
Object objectValue;
};
#endif |
s***e 发帖数: 284 | 2
把这些通通放到Empty.H里面去。
【在 s*******y 的大作中提到】 : Makefile编译中间错误信息是: : ./main.C:5: undefined reference to 'Empty::Empty[in-charge](int const&)' : collect2: ld returned 1 exit status : make: *** [main] Error 1 : Empty.H文件如下: : #ifndef EMPTY_H_ : #define EMPTY_H_ : template : class Empty{ : public:
|
s*******y 发帖数: 558 | 3 谢谢
问题已经解决了
如果一定要把interface和implementation分开
只要在Empty.H的最后(在#endif之前) 加上 #include"Empty.C"
然后makefile里面不编译template, 只编译main就可以了.
【在 s***e 的大作中提到】 : : 把这些通通放到Empty.H里面去。
|