g++ 编译 c++ 程序时需要包括 include .h 文件,还是需要 .cpp 文件
最近用Eclipse 下的cdt 学习c++
发现大部分的时候 main.cpp 中只需要包括 .h文件就可以了
cpp 文件在编译的时候用 g++ main.cpp *.cpp *.cpp 指定就可以。
可是今天上午编译一个 自己写的 类模板的代码 stack.h 和 stack.cpp ,main.cpp 中如果只包括 stack.h
就会出现:undefined reference to xxxxxx
的错误,很奇怪。
解决上面的错误只需要把stack.h 替换成stack.cpp就可以了。
这是为什么呢?
幸好参考这篇文章的时候解决了上面的问题。
ChinaUnix.net - C/C++ 编译器和调试器以及静态库、动态库使用汇总
http://dummy.linux.net.cn/~xgwu/cmuo/basics/cbsource3.html