Professional Documents
Culture Documents
XDK 环境 的构成
XDK 环境 开发指 南
XDK 环境的使用开始需要说明几点:
·XDK 环境的进 入 在 xdk 解压缩后直接运行 devkits 下的 misc 下面有 shortcuts 里面有
四个快捷方式,对应的 gnu 和 VC++的编译器以及 arm 和 x86 的目标板子,所以交叉一共四
个快捷方式,一般开始使用 Elastos XDK for x86 Visual C++快捷方式。
·XDK 的编 译目录 在 XDK 中对于可以编译的目录有一定限制的,这个主要是方便用
户管理自己的项目,在 Devkit\misc\下有个 usr.bat 文件,在这个文件中会设置一个环境的宏:
XDK_SOURCE_PATH,这个宏指定的路径为用户存放代码的位置,这个 path 是不给直接
编译的,编译通常需要在其子目录下进行。例如,在我们默认的路径 d:\Elastos20.sdk\src 是
不可以直接输入 emake(或者 z),会出现:“Error: Can't build here. Please go to the project
relative directory.”,用户需要将自己的代码建立到路径的下一级(或者其子目录等等),例
如,在 d:\Elastos20.sdk\src 下有个子目录 samples,在这个目录我们可以直接编译的,当然
代码需要有编译的 sources 或者 dirs 等(请将另外附加的 samples.rar 和 samples2.rar 分别解压
到 project 目 录 下 )
·XDK 环境 下的编译 XDK 环境下编译需要自己编写 sources 文件或者 dirs 文件(类似
与 linux 下的 makefile 的编译脚本)编译,这部分我会单独给你详细举例讲解, sources 文
件参考样例。Sources 文件是指定了当前目录下代码编译的规则,里面有一些关键字需要解
释一下,我们看一个最简单的例子( XDK.samples ),在我们的 sample (sample 需要放到
可以编译的目录下,指的是第一点中说明的在默认路径的子目录下)下,有个 sources 文件,
内容是这样的:
TARGET_NAME= test
TARGET_TYPE= exe
SOURCES= \
hello.c \
LIBRARIES= \
$(XDK_LIB)\elacrt.lib \
$(XDK_LIB)\elastos.lib \
这里一一解释一下:
TARGET_NAME 是最终编译生成的文件的名字
TARGET_TYPE 最终编译生成的文件来类型,可以是 exe(代码中必须包括 main
函数)、dll(包括 dllmain 函数)以及 lib(第三方主要 是 lib 为主 )等等
SOURCES 是用户需要指定的需要参加编译的 c(或者 cpp)文件,别忘了加续行
符“\”,这个例子中只有一个文件 hello.c
LIBRARIES 为编译时需要链接的一些静态库,下面链接的两个库为在 elastos 平台
下最为常见的两个库,XDK_LIB 是指的是环境中宏定义的系统 lib 的位置
DIRS = \
Hello1 \
Hello2 \
DIRS 文件是通过递归过程来实现目录下的编译的,这个问题我会给具体讲一下的。例子中
附加一个 dirs 的例子在 samples2 中
几点补充:
1.PD 其实是一个批处理,他的主要用途是在源代码目录与镜像目录(或者 target 目录)
间进行切换。因为我们的开发模式是将源代码放在一个地方,而将其生成的中间文件
和目标二进制文件放在一个叫镜像目录的地方,2 个目录都是独立的,以便在不触及
源代码的情况下清理生成的文件;同时,还会把生成的用于运行的目标二进制文件自
动 copy 到一个叫 target 目录的地方,那用户就可以在这个 target 里面运行编译出来的
东西了。PD 可以方便地在上述几个目录之间的切换。PD 的使用参考如下:PD T(切
换到 target 目录);PD INC(项目间共享的头文件目录,存放项目的导出头文件);
PD LIB(项目间共享的 LIB 文件目录,存放项目的导出库文件); PD CLS(项目中
共享的 CLS 文件目录,存放 CAR 项目生成的 CLS 文件;如果非 CAR 项目,本目录
无生成文件); PD M(切换到镜像目录,里面有所有生成的中间文件和目标二进制
文件);PD 后无参数(切换回原来的代码目录)
2.用户可添加自己的命令别名。在开发环境中,可以通过 alias 命令查看指定的命令别名,
他 们 等 同 于 直 接 在 命 令 行 敲 命 令 执 行 ( 例 如 , src + 回 车 等 同 于 cd /d
%XDK_SOURCE_PATH%\$1)。我们使用了 alias.exe 读取 alias.pub,并检查是否存在
alias.usr(用户指定别名的文件,默认情况下没有该文件),有则把用户指定的别名
也加入。所以,用户可以根据自己需要,只需添加 alias.usr 文件并且按照 alias.pub 的
格式即可。具体的路径在 XDK\DevKit\tools\public 下