【原】解决multiple definition of的方法
(2011-10-24 14:57:37)
标签:
androidjnimultipledefinitionfirst |
分类: Android开发 |
刚刚接触JNI不久,在编译时就出现了multiple definition和First Defined Here error的错误,在此处纠结了许久,经过在网上搜索资料以及众多网友的无私分享,终于找到了解决办法,现罗列一下,仅供大家用到时参考:
当多个文件包含同一个头文件时,并且你的.H里面没有加上条件编译
#ifndef TEST_H
#define TEST_H
#endif
就会独立的解释,然后生成每个文件生成独立的标示符。在编译器连接时,就会将工程中所有的符号整合在一起,由于,文件中有重名变量,于是就出现了重复定义的错误。
朋友们的解决方法是:
方法1:
方法2:
然后,让涉及到全局变量的文件include ”global.h“。这样编译时,会先对global.c编译生成一个global.o ,然后再和其它文件的.o链接生成可执行文件。
方法3:
希望能够帮助更多的童鞋们解决此类问题。

加载中…