- Ubuntu Linux作为开发环境,使用gcc交叉编译为ARM处理器。编译器:arm-angstrom-linux-gnueabi-gcc。
- 下载poco 1.4.2p1,并解压,进入解压后的目录。
- 创建配置文件:
- 有两个配置文件可以使用:build/config/Angstrom和build/config/ARM-Linux。Angstrom没有指定openssl库的头文件和库文件的位置,所以除非它们在编译器已知的位置,否则会编译不通过。ARM-Linux使用STLport作为C++的标准库,而不是gcc自带的C++标准库,而且在配置文件中有指定openssl的位置信息。
- 由于我们已经有gcc自带的C++标准库,所以不需要STDport。而且我们希望指定Openssl的位置。所以我们需要创建一个自己的配置文件,可以基于这两个文件的任何一个。这里以ARM-Linux为基础。
- 在build/config目录中,复制ARM-Linux为AT91-Linux。修改AT91-Linux文件:
- 修改OPENSSL_INCLUDE和OPENSSL_LIB,使他们指向正确的目录。
- 修改TOOL为:arm-angstrom-linux-gnueabi。
- 修改SYSFLAGS:去掉‘-I$(STLPORT_INCLUDE)'。
- 修改SYSLIBS:去掉'-L$(STLPORT_LIB)'。
- 配置代码:回到poco顶级目录,运行:./configure --config=AT91-Linux --omit=Data/ODBC,Data/MySQL,PageCompiler,PageCompiler/File2Page
- 编译代码:make
- 编译的结果在:lib/Linux/ARM中。
- stripped库大小为:4.9MB,包括:CppUnit, Crypto, Data, DataSQLite, Foundation, Net, NetSSL, Util, XML, Zip.
2012-03-06
交叉编译Poco 1.4.2p1
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment