已有项目工程移植(Windows2Linux PC)

系列索引:VAPS XT4.2.1入门系列索引

VAPS XT默认是Windows平台下的,但是提供了包括Linux/ARM/Vxworks等等平台的移植接口。

本文将VAPS XT移植到PC版的Linux下。

导出代码

首先打开一个工程项目

project

选中需要移植的子项目,然后设置导出平台为Linux

target

如果列表中没有需要的平台选项,就需要自己根据最靠近的平台进行修改。

然后生成代码:

generate

新平台编译运行

因为在移植的时候经常编译,所以我将操作写成脚本。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# !/bin/sh

cd /home/hyper/VAPS_XT_4_2_1/src/make
cg_make.sh -tgt $1 -vrpjdir /home/hyper/VAPS_XT_4_2_1/Projects/StandardRootProjects makefile.mak -$2

cd /home/hyper/VAPS_XT_4_2_1/src/ThirdParty/FreeType/make
cg_make.sh -tgt $1 -vrpjdir /home/hyper/VAPS_XT_4_2_1/Projects/StandardRootProjects makefile.mak -$2

cd /home/hyper/VAPS_XT_4_2_1/src/ThirdParty/PNG/make
cg_make.sh -tgt $1 -vrpjdir /home/hyper/VAPS_XT_4_2_1/Projects/StandardRootProjects makefile.mak -$2

cd /home/hyper/VAPS_XT_4_2_1/src/Utils/XTResourceCompiler/make
cg_make.sh -tgt $1 -vrpjdir /home/hyper/VAPS_XT_4_2_1/Projects/StandardRootProjects makefile.mak -$2

cd /home/hyper/VAPS_XT_4_2_1/Projects/StandardRootProjects/SYMBOLS/Syms/CommonSymbol/CodedObjects/SaveWideText/make
cg_make.sh -tgt $1 -vrpjdir /home/hyper/VAPS_XT_4_2_1/Projects/StandardRootProjects makefile.mak -$2

cd /home/hyper/VAPS_XT_4_2_1/Projects/StandardRootProjects/SYMBOLS/Syms/CommonSymbol/CodedObjects/SumDynFloatArray2/make
cg_make.sh -tgt $1 -vrpjdir /home/hyper/VAPS_XT_4_2_1/Projects/StandardRootProjects makefile.mak -$2

cd /home/hyper/VAPS_XT_4_2_1/Projects/StandardRootProjects/SYMBOLS/Syms/CommonSymbol/CodedObjects/TextInputObj/make
cg_make.sh -tgt $1 -vrpjdir /home/hyper/VAPS_XT_4_2_1/Projects/StandardRootProjects makefile.mak -$2

就是在目标平台编译必要的依赖库。

注意修改路径。

使用为,在命令行中输入:

1
sh build.sh linux64 rebuild

linux64为目标平台的系统,可以换为树莓派等等。rebuild表示重新编译,可以换为clean/build等等。

如果之前在此新平台没有进行过移植操作,那么会报错。

error

根据错误,编译XTResourceCompiler时报错,因为路径中存在<target>这个值,很明显这个值应该是平台的名称。把需要编译所有的makefile.mak中的target这个值修改linux64(即你移植的平台)。

然后到工程源码所在文件夹执行命令:

1
cg_make.sh -tgt platform -vrpjdir /home/hyper/VAPS_XT_4_2_1/Projects/StandardRootProjects your_project_name.mak -rebuild

然后执行就可以了,不过为了方便还是使用脚本加参数

1
2
3
4
5
6
7
8
9
# !/bin/sh

ulimit -c unlimited

export PATH=/home/hyper/VAPA_XT_4_2_1/bin:$PATH

cd `dirname $0`

./name_linux64 -center -resourcepath "/home/hyper/your/code/path/Resources" -truetypefontpath /home/hyper/TrueTypeFonts