语言陷阱:armcc诡异的Error: L6218E

提前声明,我并未深入研究这个问题,只是觉得诡异而已。

今天在我的一个进行中的项目中,大量使用了array模板(源代码在之前的文章中有),在编译的时候出现了link错误:

Error: L6218E: Undefined symbol ARRAY::~ARRAY() (referred from XXX.o).

看了XXX.h文件,array.h已经添加,应该没有什么问题。使用的用法大概如下(精简后的结构,原始类比这个要复杂的多):

       #include "array.h"
       class XXX
       {
       public:
       XXX(){};
       virtual ~XXX(){};
       static ARRAY< ARRAY > getmatrix()
       {
       ARRAY< ARRAY > result;
       return result;
       }
       };
       

我原始类里面还有其他类型array模板类型,这里只是突出ARRAY,然后就出现了上面的那个错误。

以下是个人猜测出错的原因:

继续阅读语言陷阱:armcc诡异的Error: L6218E

emacs编译代码很有用的设置

我项目的源文件和控制编译的脚本不在同一个目录中,在emacs中虽然通过打开makefile文件,然后编译也可以,但很不方便,我希望找到一个可以自动查找makefile文件然后编译的插件或者配置。刚开始我准备自己写一个,因为android的emacs插件有一个类似的功能,但由于对lisp几乎完全不会,弄了半天也无结果,就在网上找找,没想到还真被我找到了。将下面的代码插入到.emacs文件中:
继续阅读emacs编译代码很有用的设置