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 http://www.linuxsir.com/bbs/showthread.php?s=&threadid=1005 再来一片makefile然后细细看 VC中的一些常用方法(20条)