eclipse编译

来源:互联网 发布:软件评测师难考吗 编辑:程序博客网 时间:2024/05/20 08:44

  一、准备工作:需要的环境:cygwin1.7以上版本;sdk;ndk;集成了ADT的eclipse

  二、编译目标:

   1、java工程:

2、Android工程(不含c)

3、c工程

4、Anrroid工程(jni)

  三、配置环境

1、在编译之前首先需要给eclipse配置SDK环境:Window->Preferences->Android,把SDK Location设置为你的SDK目录,点击Apply出现各种版本说明你配置成功否则失败(只要SDK是正确的都会成功)

2、ADT环境:因为我的东东都是放到真机上运行的,所以这个没有用(不过也说说吧,Help->Install new software->Add->Loca(ADT吧) Archive(你ADT所在的目录,应该是压缩文件不要解压))->Select All->Next(如果你没有安装过ADT的话就会成功,然后Finish)

3、java方面的是SDK,c方面的就是NDK了,Project->Properties->C/C++Build->Environment->Add,这里需要添加3个环境变量:

  <1>:ANDROID_INCLUDE    值为你的头文件根目录(编译C项目的时候会用到)我的为D:\btools\workspace\headers

  <2>:C基础库头文件C_INCLUDE_PATH 

  <3>C++基础库头文件CPLUS_INCLUDE_PATH 

2 3 头文件的具体内容获取方法为

  在终端下查看C 库文件到路径:
$ echo "int main() { return 0; }" > a1.c
$ gcc -v a1.c
#include "..." 搜索从这里开始:
#include <...> 搜索从这里开始:
 /usr/lib/gcc/i686-linux-gnu/4.6.1/include
 /usr/local/include
 /usr/lib/gcc/i686-linux-gnu/4.6.1/include-fixed
 /usr/include/i386-linux-gnu
 /usr/include
搜索列表结束。
……
查看C++ 库文件到搜索路径:
$ echo "int main() { return 0; }" > a1.cpp
$ g++ -v a1.cpp
#include "..." 搜索从这里开始:
#include <...> 搜索从这里开始:
 /usr/include/c++/4.6
 /usr/include/c++/4.6/i686-linux-gnu/.
 /usr/include/c++/4.6/backward
 /usr/lib/gcc/i686-linux-gnu/4.6.1/include
 /usr/local/include
 /usr/lib/gcc/i686-linux-gnu/4.6.1/include-fixed
 /usr/include/i386-linux-gnu
 /usr/include
搜索列表结束。
在eclipse中菜单Window --> Preferences --> C/C++ --> Build --> Environment添加环境变量
C_INCLUDE_PATH =/usr/lib/gcc/i686-linux-gnu/4.6.1/include:/usr/local/include:/usr/lib/gcc/i686-linux-gnu/4.6.1/include-fixed:/usr/include/i386-linux-gnu:/usr/include
CPLUS_INCLUDE_PATH =/usr/include/c++/4.6:/usr/include/c++/4.6/i686-linux-gnu/.:/usr/include/c++/4.6/backward:/usr/lib/gcc/i686-linux-gnu/4.6.1/include:/usr/local/include:/usr/lib/gcc/i686-linux-gnu/4.6.1/include-fixed:/usr/include/i386-linux-gnu:/usr/include
记得选中下面的Append variables to native environment.
添加完后重启Eclipse 新建项目即可。 

这个方法是我在网上看到的,经过实践之后发现这个是最好也是最正确的方法,其他的都太固定了不时候所有人。

  四、环境换了都配置好了,可以编译工程了,我在编译普通java和Android(不含c)工程的时候不需要追加配置即可成功编译,但是编译包含C文件的工程是还是需要追加配置编译器的,具体方法如下选择需要编译的工程右键单击->Properties>Builders->New->Program->ok->Main

第一行:c:\cygwin1.7.5\bin\bash.exe

第二行:c:\cygwin1.7.5\bin\

第三行:--login -c "cd '${project_loc}' && $NDK/ndk-build"

上面两行应该不用说了,最后一行是执行脚本,project-loc是你的工程目录、NDK是你的ndk工作目录,在Environment里面添加project-loc的具体目录,NDK应该在cgywin里面已经配置了。

选择Refresh

勾选Refresh resources upon completion

勾选 The selected

选择Build Pptions

勾选Allocate……

 After……

D……

D……

D……

Specity……

选择Specity Resources勾选你需要编译的工程即可,ok ok ok

差不过了,多的我也不知道……开始编译吧!


原创粉丝点击