libiconv android编译,编译cBPM-android-19—CodeBlocks—CentOS7— ndk10—编译libiconv和xerces-c...

-------------- Build: Debug Win32 in Criteria.Libraries.bOS (compiler: GNU ARM GCC Compiler For Android)---------------

步骤(问题)1:

/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory

[root@localhost cBPM-android]# ls /usr/include/gnu/stubs

stubs-64.h  stubs.h

[root@localhost cBPM-android]#

解决方法: yum install glibc-devel.i686

步骤(问题)2:

/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/stlport/limits.h:30:43: error: #include nested too deeply

解决方法: stlport/stlport/limits.h:27: #if defined (_STLP_HAS_INCLUDE_NEXT)  改为  #if !defined (_STLP_HAS_INCLUDE_NEXT)

步骤(问题)3:

-fno-exceptions

解决方法:    -fexceptions        开启异常,

不用 Android自带的 libstlport.so,

使用/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/libs/armeabi-v7a/libstlport_static.a

Linker Settings:  -Wl,-dn -lstlport_static -Wl,-dy

步骤(问题)4:

String/bOSStringUtils.cpp:17:21: error: 'toupper' was not declared in this scope

解决方法: 在String/bOSStringUtils.cpp开头  #include "ctype.h"

步骤(问题)5:

Idioma/ItemInterface.cpp:41:30: error: 'isdigit' was not declared in this scope

解决方法: 在Idioma/ItemInterface.cpp开头  #include "ctype.h"

步骤(问题)6:

/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lxerces-c-3.1

解决方法:

/>

步骤(问题)7:

+++++++++++++编译libiconv-1.14 (静态库)

[root@localhost libiconv-1.14]# pwd

/opt/cBPM-android/libiconv-1.14

[root@localhost libiconv-1.14]# make clean

export NDK_ROOT="/opt/android-on-linux/android-ndk-r10d"

export SYSROOT="$NDK_ROOT/platforms/android-19/arch-arm"

export CFLAGS="--pipe --sysroot=$SYSROOT -I$NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9/include-fixed -I$NDK_ROOT/platforms/android-19/arch-arm/usr/include"

export CPPFLAGS="$CFLAGS"

export CXXFLAGS="$CFLAGS"

export LDFLAGS="--sysroot=$SYSROOT -L$SYSROOT/usr/lib/ -L$NDK_ROOT/sources/cxx-stl/stlport/libs/armeabi-v7a -L/opt/cBPM-android/criteria-lin/lib -lstlport_static -lgcc -lc"

export CPATH="$NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin"

export CPP="$CPATH/arm-linux-androideabi-cpp"

export CXX="$CPATH/arm-linux-androideabi-g++"

export CC="$CPATH/arm-linux-androideabi-gcc"

export LD="$CPATH/arm-linux-androideabi-ld"

export AR="$CPATH/arm-linux-androideabi-ar"

[root@localhost libiconv-1.14]# gl_cv_header_working_stdint_h=yes ./configure --host=arm-linux-androideabi --enable-static --disable-shared

[root@localhost libiconv-1.14]# make -j5

[root@localhost libiconv-1.14]# find . -name libiconv.a

[root@localhost libiconv-1.14]# cp ./lib/.libs/libiconv.a /opt/cBPM-android/criteria-lin/lib

至此,成功编译 libiconv-1.14 静态库

-----------------如果遇到错误,参考下面内容

错误:configure: error: /bin/sh build-aux/config.sub arm-linux-androideabi failed

//You might need a newer config.sub and config.guess, 2010-05-20 or later.

//You can obtain the newest version of config.guess and config.sub from the ‘config’ project at The commands to fetch them are

$ wget -O config.guess ''

$ wget -O config.sub ''

或者:

[root@localhost libiconv-1.14]# locate config.guess

/opt/gcc-4.9.0/config.guess

[root@localhost libiconv-1.14]# cp /opt/gcc-4.9.0/config.guess /opt/gcc-4.9.0/config.sub build-aux/

[root@localhost libiconv-1.14]# cp /opt/gcc-4.9.0/config.guess /opt/gcc-4.9.0/config.sub libcharset/build-aux/

//[root@localhost libiconv-1.14]# gl_cv_header_working_stdint_h=yes ./configure --host=arm-linux-androideabi

[root@localhost libiconv-1.14]# gl_cv_header_working_stdint_h=yes ./configure --host=arm-linux-androideabi --enable-static --disable-shared

[root@localhost libiconv-1.14]# make -j5

[root@localhost libiconv-1.14]# find . -name libiconv.a

./lib/.libs/libiconv.a

//复制库文件(arm)

[root@localhost libiconv-1.14]# cp ./lib/.libs/libiconv.a /opt/cBPM-android/criteria-lin/lib

[root@localhost libiconv-1.14]# cp ./lib/.libs/libiconv.so* /opt/cBPM-android/criteria-lin/lib

[root@localhost libiconv-1.14]# cp /usr/lib64/libWorkflowEngineD.so /opt/cBPM-android/criteria-lin/lib

[root@localhost libiconv-1.14]# cp /usr/lib64/libLibraries.so /opt/cBPM-android/criteria-lin/lib

+++++++++++++编译Criteria.Tools.Executor错误

/opt/cBPM-android/criteria-lin/lib/libxerces-c.a(IconvTransService.o):IconvTransService.cpp:function xercesc_3_1::IconvLCPTranscoder::calcRequiredSize(char const*, xercesc_3_1::MemoryManager*): error: undefined reference to '__ctype_get_mb_cur_max'

解决方法:+++++++++++++ 在上面基础上,编译libiconv (静态库)

這似乎是NDK的BUG,在stdlib.h內有宣告出__ctype_get_mb_cur_max函數,但是卻沒有去實作它。如果出現這個問題,不建議直接修改NDK,要到libiconv目錄下,修改「libcharset/lib」目錄裡的「localcharset.c」檔案,在檔案最下面加上以下程式碼即可。

[root@localhost libiconv-1.14]# gedit /opt/cBPM-android/libiconv-1.14/libcharset/lib/localcharset.c

size_t __ctype_get_mb_cur_max(void){

return 1;

}

保存,重新编译libiconv (静态库)

[root@localhost libiconv-1.14]# nm ./lib/.libs/libiconv.a |grep ctype_get_mb_cur_max

U __ctype_get_mb_cur_max

0000060c T __ctype_get_mb_cur_max

//如果您指定了 -A 选项,则 nm 命令只报告与该文件有关的或者库或者对象名。

[root@localhost libiconv-1.14]# nm -A ./lib/.libs/libiconv.a|grep ctype_get_mb_cur_max

./lib/.libs/libiconv.a:iconv.o:         U __ctype_get_mb_cur_max

./lib/.libs/libiconv.a:localcharset.o:0000060c T __ctype_get_mb_cur_max

[root@localhost libiconv-1.14]#

[root@localhost criteria-lin]#  nm -A lib/lib* |grep ctype_get_mb_cur_max

nm: lib/libc.so:无符号

lib/libiconv.a:iconv.o:         U __ctype_get_mb_cur_max

lib/libiconv.a:localcharset.o:0000060c T __ctype_get_mb_cur_max

lib/libiconv.so:         U __ctype_get_mb_cur_max

lib/libiconv.so.2:         U __ctype_get_mb_cur_max

lib/libiconv.so.2.5.1:         U __ctype_get_mb_cur_max

nm: lib/libsqlite.so:无符号

nm: lib/libstdc++.so:无符号

lib/libxerces-c-3.1.so:         U __ctype_get_mb_cur_max

lib/libxerces-c.a:IconvTransService.o:         U __ctype_get_mb_cur_max

所以,编译Criteria.Tools.Executor时,需要 静态链接 /opt/cBPM-android/criteria-lin/lib/libiconv.a

+++++++++++++

+++++++++++++编译xerces-c-3.1.2(动态库)—CentOS 7— android-ndk

export XERCES="/opt/cBPM-android/xerces-c-3.1.2/"

export NDK="/opt/android-on-linux/android-ndk-r10d/"

export SYSROOT="$NDK/platforms/android-19/arch-arm"

export CC="$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc"

export CXX="$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++"

export CFLAGS="--sysroot=$SYSROOT"

export LDFLAGS="--sysroot=$SYSROOT -nostdlib -L$NDK/sources/cxx-stl/stlport/libs/armeabi-v7a -L$SYSROOT/usr/lib -L/opt/cBPM-android/criteria-lin/lib -liconv -lstdc++ -lstlport -lc"

export CPPFLAGS="-fPIC -I$NDK/sources/cxx-stl/stlport/stlport -I$NDK/platforms/android-19/arch-arm/usr/include -I$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/include -I$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9/include-fixed -I$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9/include -I$XERCES/src/xercesc/xinclude -I$XERCES/tests/src/xinclude -I$XERCES/tests/src/xinclude/tests/xinclude"

// -nostdlib -Xlinker -R$SYSROOT/usr/lib $SYSROOT/usr/lib/crtbegin_static.o $SYSROOT/usr/lib/crtend_android.o

// ls /opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/libs/armeabi-v7a

// libstlport_shared.so  libstlport.so  libstlport_static.a  thumb

[root@localhost xerces-c-3.1.2]# ./configure --host=arm-linux-androideabi --enable-static --disable-shared --enable-transcoder-iconv

错误:configure: error: Xerces cannot function without a transcoder

解决方法如下:

//编译静态库

[root@localhost xerces-c-3.1.2]# ac_cv_func_iconv_open=yes ac_cv_func_iconv_close=yes ac_cv_func_mblen=yes ac_cv_func_wcstombs=yes ac_cv_func_mbstowcs=yes ac_cv_func_iconv=yes ./configure --host=arm-linux-androideabi --enable-static --disable-shared --enable-transcoder-iconv

[root@localhost xerces-c-3.1.2]# make -j5

//编译动态库

[root@localhost xerces-c-3.1.2]# gl_cv_header_working_stdint_h=yes ac_cv_func_iconv_open=yes ac_cv_func_iconv_close=yes ac_cv_func_mblen=yes ac_cv_func_wcstombs=yes ac_cv_func_mbstowcs=yes ac_cv_func_iconv=yes ./configure --host=arm-linux-androideabi --enable-transcoder-iconv

[root@localhost xerces-c-3.1.2]# make -j5

错误及解决方法:

错误:

xercesc/util/PlatformUtils.cpp:713:4: error: #error No timing support is configured for this platform.

stricmp.c:37:3: error: #error Need implementation of stricmp compatibility function

strnicmp.c:37:3: error: #error Need implementation of strnicmp compatibility function

解决方法,在 config.h  加下面一行

#define HAVE_GETTIMEOFDAY 1

#define HAVE_STRCASECMP 1

#define HAVE_STRNCASECMP 1

错误:

towupper.h  conflicting declaration of C function 'int towupper(int)'

解决方法

towlower.h、towupper.h注释如下:

//extern int towlower(int wc);

//extern int towupper(int wc);

错误:

arm-linux-androideabi-g++: error: crtbegin_so.o: No such file or directory

arm-linux-androideabi-g++: error: crtend_so.o: No such file or directory

原因是ld找不到  crtbegin_so.o 和 crteng_so.o,

解决方法,在项目源码下面建立软连接

ln -s /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtbegin_so.o src

ln -s /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtend_so.o src

//成功编译动态库

[root@localhost xerces-c-3.1.2]# find . -name libxerces-c-3.1.so

./src/.libs/libxerces-c-3.1.so

//复制库文件(arm)

[root@localhost xerces-c-3.1.2]# cp ./src/.libs/libxerces-c-3.1.so /opt/cBPM-android/criteria-lin/lib

步骤(问题)8:

+++++++++++++ 在上面基础上,编译xerces-c (静态库)

编译xerces-c (静态库)—CentOS 7— android-ndk

[root@localhost xerces-c-3.1.2]# pwd

/opt/cBPM-android/xerces-c-3.1.2

[root@localhost xerces-c-3.1.2]# make clean

export XERCES="/opt/cBPM-android/xerces-c-3.1.2/"

export NDK_ROOT="/opt/android-on-linux/android-ndk-r10d"

export SYSROOT="$NDK_ROOT/platforms/android-19/arch-arm"

export CFLAGS="--pipe --sysroot=$SYSROOT -I$NDK_ROOT/sources/cxx-stl/stlport/stlport -I$NDK_ROOT/platforms/android-19/arch-arm/usr/include -I$NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/include -I$NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9/include-fixed -I$NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9/include"

export CPPFLAGS="$CFLAGS"

export CXXFLAGS="$CFLAGS"

export LDFLAGS="-L$SYSROOT/usr/lib/ -L$NDK_ROOT/sources/cxx-stl/stlport/libs/armeabi-v7a -L/opt/cBPM-android/criteria-lin/lib -lstlport_static -lgcc -lc"

export CPATH="$NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin"

export CPP="$CPATH/arm-linux-androideabi-cpp"

export CXX="$CPATH/arm-linux-androideabi-g++"

export CC="$CPATH/arm-linux-androideabi-gcc"

export LD="$CPATH/arm-linux-androideabi-ld"

export AR="$CPATH/arm-linux-androideabi-ar"

[root@localhost xerces-c-3.1.2]# ac_cv_func_iconv_open=yes ac_cv_func_iconv_close=yes ac_cv_func_mblen=yes ac_cv_func_wcstombs=yes ac_cv_func_mbstowcs=yes ac_cv_func_iconv=yes ./configure --host="arm-linux-eabi" --enable-static --disable-shared --enable-transcoder-iconv

[root@localhost xerces-c-3.1.2]# make -j5

[root@localhost xerces-c-3.1.2]# cp ./src/.libs/libxerces-c.a /opt/cBPM-android/criteria-lin/lib

至此,成功编译 xerces-c-3.1.2 静态库

-----------------如果遇到错误,参考下面内容

/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/include

/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/stlport

/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/gabi++/include

/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/gnu-libstdc++/4.9/include

/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib

/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/libs/armeabi-v7a

/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi

-----------------------

// -nostdlib -Xlinker -R$SYSROOT/usr/lib $SYSROOT/usr/lib/crtbegin_static.o $SYSROOT/usr/lib/crtend_android.o

// ls /opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/libs/armeabi-v7a

// libstlport_shared.so  libstlport.so  libstlport_static.a  thumb

[root@localhost xerces-c-3.1.2]# ./configure --host=arm-linux-androideabi --enable-static --disable-shared --enable-transcoder-iconv

错误:configure: error: Xerces cannot function without a transcoder

解决方法如下:

//编译静态库

[root@localhost xerces-c-3.1.2]# ac_cv_func_iconv_open=yes ac_cv_func_iconv_close=yes ac_cv_func_mblen=yes ac_cv_func_wcstombs=yes ac_cv_func_mbstowcs=yes ac_cv_func_iconv=yes ./configure --host=arm-linux-androideabi --enable-static --disable-shared --enable-transcoder-iconv

[root@localhost xerces-c-3.1.2]# make -j5

错误:

xercesc/util/PlatformUtils.cpp:713:4: error: #error No timing support is configured for this platform. You must configure it.

解决方法,在 config.h  加下面一行

#define HAVE_GETTIMEOFDAY 1

#define HAVE_STRCASECMP 1

#define HAVE_STRNCASECMP 1

//成功编译静态库

[root@localhost xerces-c-3.1.2]# find . -name libxerces-c.a

./src/.libs/libxerces-c.a

//复制库文件(arm)

[root@localhost xerces-c-3.1.2]# cp ./src/.libs/libxerces-c.a /opt/cBPM-android/criteria-lin/lib

+++++++++++++编译Criteria.Tools.Executor错误

xercesc/util/XMLAbstractDoubleFloat.cpp:430: error: undefined reference to 'localeconv'

解决方法:+++++++++++++ 在上面基础上,编译xerces-c (静态库)

[root@localhost xerces-c-3.1.2]# pwd

/opt/cBPM-android/xerces-c-3.1.2

[root@localhost xerces-c-3.1.2]# find . -name XMLAbstractDoubleFloat.cpp

./src/xercesc/util/XMLAbstractDoubleFloat.cpp

[root@localhost xerces-c-3.1.2]# gedit ./src/xercesc/util/XMLAbstractDoubleFloat.cpp

//    lconv* lc = localeconv();

//    char delimiter = *lc->decimal_point;

char delimiter = '.';        //把localeconv()调用给绕过去了

保存,重新编译xerces-c (静态库)

+++++++++++++

步骤(问题)9:

+++++++++++++编译Criteria.Tools.Executor错误

/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lmysqlclient

解决方法: 使用 SQLite 替换 MySQL, CodeBlocks中,Linker Settings:mysqlclient 替换为 sqlite

********---------------------------********

[root@localhost criteria-lin]# gedit ./src/Criteria/Criteria.Libraries.bOS/SQL/bOSSQLConnectionManager.cpp

#include "bOSmySQLConnection.h"

#include "bOSmySQLConnectionData.h"

using namespace bOS::SQL::mySQL;

#ifdef _USE_SQLITE3_

#include "bOSSQLiteConnection.h"

#include "bOSSQLiteConnectionData.h"

using namespace bOS::SQL::SQLite3;

#endif

修改为

#ifdef _USE_MYSQL_

#include "bOSmySQLConnection.h"

#include "bOSmySQLConnectionData.h"

using namespace bOS::SQL::mySQL;

#endif

#ifdef _USE_SQLITE3_

#include "bOSSQLiteConnection.h"

#include "bOSSQLiteConnectionData.h"

using namespace bOS::SQL::SQLite3;

#endif

********---------------------------********

[root@localhost criteria-lin]# gedit ./include/bOS/bOSSQLConnectionManager.h

enum DataBaseType

{

ODBC_INTERFACE,

SQLITE3,

MYSQL

};

修改为

enum DataBaseType

{

CONN,

MYSQL,

ODBC_INTERFACE,

SQLITE3,

FILESYSTEM

};

********---------------------------********

所有 和 MYSQL 相关 代码,使用如下:

#ifdef _MYSQL_

...

#endif

实际只涉及一个文件:  ./src/Criteria/Criteria.Libraries.bOS/SQL/bOSSQLConnectionManager.cpp

比较彻底的方法:

[root@localhost criteria-lin]# mv ./include/bOS/mySQL ./include/bOS/mySQL-not-use

[root@localhost criteria-lin]# mv ./src/Criteria/Criteria.Libraries.bOS/SQL/mySQL/ ./src/Criteria/Criteria.Libraries.bOS/SQL/mySQL-not-use

另外,src/Criteria/Criteria.Libraries.bOS/Libraries.bOS.cbp,中删除如下内容:

步骤(问题)10:

********---------------------------编译参数 设置********codeblocks 全局参数 设置:

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Compiler Settings】->【Other options】

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Compiler Settings】->【#defines】

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Linker Settings】->【Link libraries】

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Search directories】->【Compiler】

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Search directories】->【Linker】

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Toolchain executable】->【ompiler Installation directory】

/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/

arm-linux-androideabi-gcc

arm-linux-androideabi-g++

arm-linux-androideabi-g++

arm-linux-androideabi-ar

********---------------------------******** 全局参数 设置:权宜之计,实现 静态库的编译:

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Other Settings】->【Advanced options】->【Commands】->【Link object files to dynamic library】

$linker -shared $libdirs $link_objects $link_resobjects -o $exe_output $link_options $libs

修改为

$lib_linker -r -s $static_output $link_objects

********---------------------------******** 全局参数 设置:权宜之计,实现 链接对象顺序的正确,否则,编译Criteria.Tools.Executor出错

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Other Settings】->【Advanced options】->【Commands】->【Link object files to console executable】

$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs

修改为

$linker $libdirs -o $exe_output /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtbegin_static.o $link_objects $link_resobjects $link_options $libs /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtend_android.o

主要是下面两个文件的位置:

/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtbegin_static.o

/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtend_android.o

********---------------------------********

codeblocks 局部参数 设置: Criteria.Libraries.bOS

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Compiler Settings】->【Other options】

-W

-O0

-g3

-c

-fmessage-length=0

-fexceptions

默认情况下,GNU工具链编译过程中,控制台输出的一行信息是不换行的,这样,当输出信息过长时(如编译错误时的信息),会导致你无法看到完整的输出信息,加入-fmessage-length=0后,输出信息会根据控制台的宽度自动换行,这样就能看全输出信息了。

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Compiler Settings】->【#defines】

_USE_SQLITE3_

SQLITE_OS_UNIX

WIN32

_DEBUG

_WINDOWS

_USRDLL

_CODEMANAGER_TRACE_ON_

BOS_EXPORTS

CODEMANAGER_EXPORTS

ANDROID

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Search directories】->【Compiler】

/opt/cBPM-android/criteria-lin/include/bOS/

/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/stlport

/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/include

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Pre/post build steps】->【Post-build steps】

cp /opt/cBPM-android/criteria-lin/bin/Criteria/Debug/bOS/libLibraries.a /opt/cBPM-android/criteria-lin/lib/

右健单击【Criteria.Libraries.bOS】,选择【Properties】,设置见图。

********---------------------------********

codeblocks 局部参数 设置: Criteria.WorkflowEngine

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Compiler Settings】->【Other options】

-W

-O0

-g3

-c

-fmessage-length=0

-fexceptions

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Compiler Settings】->【#defines】

WIN32

_DEBUG

_WINDOWS

_USRDLL

ENGINE_EXPORTS

WAPI_EXPORTS

_CODEMANAGER_TRACE_ON_

_USE_SQLITE3_

BOS_EXPORTS

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Search directories】->【Compiler】

/opt/cBPM-android/criteria-lin/include/WorkflowEngine

/opt/cBPM-android/criteria-lin/include/bOS/

/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/stlport

/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/include

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Pre/post build steps】->【Post-build steps】

cp /opt/cBPM-android/criteria-lin/bin/Criteria/Debug/WorkflowEngine/libWorkflowEngineD.a /opt/cBPM-android/criteria-lin/lib/

右健单击【Criteria.WorkflowEngine】,选择【Properties】,设置见图。

********---------------------------********

codeblocks 局部参数 设置: Criteria.Tools.Executor

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Compiler Settings】->【Other options】

-W

-O0

-g3

-c

-fmessage-length=0

-fexceptions

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Compiler Settings】->【#defines】

WIN32

_DEBUG

_CONSOLE

_CODEMANAGER_TRACE_ON_

BOS_EXPORTS

ENGINE_EXPORTS

顺序超级重要)》》》》》》》》》》(顺序超级重要)《《《《《《《《《《《《《

codeblocks 局部参数 设置: Criteria.Tools.Executor

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Linker Settings】->【Link libraries】

WorkflowEngineD

Libraries

sqlite

xerces-c

iconv

stlport_static

m

gcc

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Linker Settings】->【Other linker options】

-static

-nostdlib

-Wl,-dy -ldl -lc -Wl,-dn

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Search directories】->【Compiler】

/opt/cBPM-android/criteria-lin/include/bOS/

/opt/cBPM-android/criteria-lin/include/WorkflowEngine

/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/include

/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/stlport

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Search directories】->【Linker】

/opt/cBPM-android/criteria-lin/lib

/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/libs/armeabi-v7a

/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/

/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9/armv7-a/                //libgcc.a

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Pre/post build steps】->【Post-build steps】

cp /opt/cBPM-android/criteria-lin/bin/Criteria/Debug/Tools.Executor/executer /opt/cBPM-android/criteria-lin/lib/

右健单击【Criteria.WorkflowEngine】,选择【Properties】,设置见图。

至此,编译Criteria.Tools.Executor成功,具体见  步骤(问题)11:

+++++++++++++编译Criteria.Tools.Executor出错,参考下面内容

error: undefined reference to 'dlopen'

添加链接选项:

-Wl,-dy -ldl -Wl,-dn

-Wl,-dy -lgcc -lc -lstlport_static -lstdc++ -ldl -Wl,-dn

+++++++++++++编译Criteria.Tools.Executor错误:

src/main.cpp:155: error: undefined reference to '__cxa_end_cleanup'

最后一行:    return 0;

修改为:    exit(0);

----------------------------

arm-linux-androideabi-g++

-L/opt/cBPM-android/criteria-lin/lib -L/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/libs/armeabi-v7a -L/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/ -L/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9/armv7-a/

-o /opt/cBPM-android/criteria-lin/bin/Criteria/Debug/Tools.Executor/executer

/opt/cBPM-android/criteria-lin/bin/Criteria/Debug/Tools.Executor/src/main.o

-static -nostdlib -Wl,-v -Wl,-dy -lc -ldl -lstlport -lstdc++ -Wl,-dn  -lgcc -lsqlite -lxerces-c -lLibraries -lWorkflowEngineD

$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs

$linker $libdirs -o $exe_output $link_objects $link_resobjects crtbegin_static.o $link_options $libs crtend_android.o

arm-eabi-ld $(LDFLAGS)  crtbegin_static.o  $(OBJECTS) $(LIBS) crtend_android.o

-Wl,-v -Wl,-dy -lc -ldl -lstlport -lstdc++ -Wl,-dn

+++++++++++++编译Criteria.Tools.Executor错误

CodeManager/CodeItem.cpp:96: error: undefined reference to 'std::ostrstream::str()'

正因为 ostrstream 调用str()后需要自己清除存储空间的不便,才有了后来的ostringstream,对这个问题的改进,我们不必须再负责清除存储空间啦.

+++++++++++++编译Criteria.Tools.Executor错误

bionic/libc/bionic/libc_logging.cpp:165: error: undefined reference to '__aeabi_uldivmod'

使用手机上的libc.so,不使用静态库

[root@localhost mb526-all-lib]# cp /opt/cBPM-android/mb526-all-lib/libc.so /opt/cBPM-android/criteria-lin/lib/

+++++++++++++编译Criteria.Tools.Executor错误  困扰2天的错误

WAPI/WAPI.cpp:72: error: undefined reference to 'bOS::XML::XMLHelper::initialize()'

WAPI/WAPI.cpp:137: error: undefined reference to 'bOS::XML::XMLHelper::terminate()'

WAPI/WAPIProcess.cpp:37: error: undefined reference to 'bOS::XML::Data::XMLObject::getXMLString(unsigned int)'

WAPI/WAPIProcess.cpp:64: error: undefined reference to 'bOS::XML::Data::XMLObject::getXMLString(unsigned int)'

WAPI/WAPIProcess.cpp:92: error: undefined reference to 'bOS::XML::Data::XMLObject::getXMLString(unsigned int)'

...

engine/Workflow.cpp:175: error: undefined reference to 'bOS::Collections::Collection::clear()'

engine/Workflow.cpp:488: error: undefined reference to 'bOS::Collections::Collection::clear()'

engine/Workflow.cpp:672: error: undefined reference to 'bOS::Collections::Collection::clear()'

ExternalEvent/ManagedEventElement.cpp:73: error: undefined reference to 'bOS::XML::XMLAttribute::XMLAttribute()'

ExternalEvent/ManagedEventElement.cpp:74: error: undefined reference to 'bOS::XML::XMLAttribute::setName(char const*)'

ExternalEvent/ManagedEventElement.cpp:79: error: undefined reference to 'bOS::XML::XMLAttribute::setValue(char const*)'

ExternalEvent/ManagedEventElement.cpp:82: error: undefined reference to 'bOS::XML::XMLAttribute::setValue(char const*)'

ExternalEvent/ManagedEventElement.cpp:85: error: undefined reference to 'bOS::XML::XMLAttribute::setValue(char const*)'

collect2: error: ld returned 1 exit status

Process terminated with status 1 (0 minute(s), 1 second(s))

313 error(s), 0 warning(s) (0 minute(s), 1 second(s))

-----------------------------------

解决方法:(顺序超级重要)(之前順序:Libraries、WorkflowEngineD)》》》》》(顺序超级重要)《《《《《

codeblocks 局部参数 设置: Criteria.Tools.Executor

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Linker Settings】->【Link libraries】

WorkflowEngineD

Libraries

sqlite

xerces-c

iconv

stlport_static

m

gcc

【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Linker Settings】->【Other linker options】

-static

-nostdlib

-Wl,-dy -ldl -lc -Wl,-dn

+++++++++++++编译Criteria.Tools.Executor错误(不用看)

Utils/bOSUniqueID.cpp:22: error: undefined reference to 'srand'

Utils/bOSUniqueID.cpp:38: error: undefined reference to 'rand'

解决方法:

[root@localhost android-ndk-r10d]# gedit platforms/android-21/arch-arm/usr/include/stdlib.h

[root@localhost android-ndk-r10d]# gedit platforms/android-19/arch-arm/usr/include/stdlib.h

srand is defined as inline in: android-19/arch-arm/usr/include/stdlib.h

將定义 放到 android-21/arch-arm/usr/include/stdlib.h

+++++++++++++编译Criteria.Tools.Executor错误

xercesc/util/XMLAbstractDoubleFloat.cpp:430: error: undefined reference to 'localeconv'

參考<>

+++++++++++++编译Criteria.Tools.Executor错误

xercesc/util/Transcoders/Iconv/IconvTransService.cpp:238: error: undefined reference to '__ctype_get_mb_cur_max'

需要 静态链接 /opt/cBPM-android/criteria-lin/lib/libiconv.a

步骤(问题)11:

+++++++++++++编译Criteria.Tools.Executor————成功

arm-linux-androideabi-g++ -W -O0 -g3 -c -fmessage-length=0 -fexceptions -DWIN32 -D_DEBUG -D_CONSOLE -D_CODEMANAGER_TRACE_ON_ -DBOS_EXPORTS -DENGINE_EXPORTS -I/opt/cBPM-android/criteria-lin/include/bOS -I/opt/cBPM-android/criteria-lin/include/WorkflowEngine -I/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/include -I/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/stlport -c src/main.cpp -o /opt/cBPM-android/criteria-lin/bin/Criteria/Debug/Tools.Executor/src/main.o

arm-linux-androideabi-g++ -L/opt/cBPM-android/criteria-lin/lib -L/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/libs/armeabi-v7a -L/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/ -L/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9/armv7-a/ -o /opt/cBPM-android/criteria-lin/bin/Criteria/Debug/Tools.Executor/executer /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtbegin_static.o /opt/cBPM-android/criteria-lin/bin/Criteria/Debug/Tools.Executor/src/main.o  -static -nostdlib -Wl,-dy -ldl -lc -Wl,-dn  -lWorkflowEngineD -lLibraries -lsqlite -lxerces-c -liconv -lstlport_static -lm -lgcc /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtend_android.o

Output file is /opt/cBPM-android/criteria-lin/bin/Criteria/Debug/Tools.Executor/executer with size 21.12 MB

Running target post-build steps

cp /opt/cBPM-android/criteria-lin/bin/Criteria/Debug/Tools.Executor/executer /opt/cBPM-android/criteria-lin/lib/

Process terminated with status 0 (1 minute(s), 29 second(s))

0 error(s), 305 warning(s) (1 minute(s), 29 second(s))

步骤(问题)12:

+++++++++++++编译Criteria.Tools.Executor————成功———测试

[root@localhost lib]# pwd

/opt/cBPM-android/criteria-lin/lib

[root@localhost lib]# adb push executer /data/data

3352 KB/s (22209660 bytes in 6.469s)

[root@localhost lib]# adb shell

root@mb526:/ # cd data/data/

root@mb526:/data/data # ./executer

/system/bin/sh: ./executer: No such file or directory

这是因为系统的动态链接器与executer程序中动态链接器的名字或路径不对,执行如下命令:

[root@localhost lib]# pwd

/opt/cBPM-android/criteria-lin/lib

[root@localhost lib]# readelf -l executer

Elf 文件类型为 EXEC (可执行文件)

入口点 0xb138

共有 8 个程序头,开始于偏移量52

程序头:

Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align

PHDR           0x000034 0x00008034 0x00008034 0x00100 0x00100 R   0x4

INTERP         0x000134 0x00008134 0x00008134 0x00013 0x00013 R   0x1

[正在请求程序解释器:/usr/lib/libc.so.1]

LOAD           0x000000 0x00008000 0x00008000 0x526848 0x526848 R E 0x1000

LOAD           0x526ec8 0x0052fec8 0x0052fec8 0x33154 0x509b0 RW  0x1000

DYNAMIC        0x535cd8 0x0053ecd8 0x0053ecd8 0x000e8 0x000e8 RW  0x4

GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0

EXIDX          0x466770 0x0046e770 0x0046e770 0x19900 0x19900 R   0x4

GNU_RELRO      0x526ec8 0x0052fec8 0x0052fec8 0x11138 0x11138 RW  0x8

Section to Segment mapping:

段节...

00

01 .interp

02 .interp .dynsym .dynstr .hash .rel.dyn .rel.plt .plt .text .note.android.ident .ARM.extab .ARM.exidx .rodata

03 .data.rel.ro.local .fini_array .init_array .preinit_array .data.rel.ro .dynamic .got .data .bss

04 .dynamic

05

06 .ARM.exidx

07 .data.rel.ro.local .fini_array .init_array .preinit_array .data.rel.ro .dynamic .got

[root@localhost lib]# objdump -x executer|grep NEEDED

NEEDED               libdl.so

NEEDED               libc.so

[root@localhost lib]#

root@mb526:/data/data # mount -o remount,rw /

root@mb526:/data/data # mkdir -p /usr/lib

root@mb526:/data/data # cp /system/lib/libc.so /usr/lib/

root@mb526:/data/data # ./executer

/system/bin/sh: ./executer: No such file or directory

1|root@mb526:/data/data # ln -s /usr/lib/libc.so /usr/lib/libc.so.1

root@mb526:/data/data # ./executer

/system/bin/sh: ./executer: Permission denied

root@mb526:/data/data # ll -d /usr/lib/libc.so*

-rw-r--r-- root     root       306604 2015-09-21 18:08 libc.so

lrwxrwxrwx root     root              2015-09-21 18:09 libc.so.1 -> /usr/lib/libc.so

root@mb526:/data/data # chmod 777 /usr/lib/libc.so

root@mb526:/data/data # cp /system/lib/libdl.so /usr/lib/

1|root@mb526:/data/data # ln -s /usr/lib/libdl.so /usr/lib/libdl.so.1

root@mb526:/data/data # ./executer

Illegal instruction

//这个错误表明我们的程序执行了不正确的指令。一般这种情况是因为我们编译起编译出了较高版本的ARM指令造成的。

//我的手机,Android 4.4.4,ARMv7,--->  API level 19

//所以库文件路径:    /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/include

/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/

// 上面过程 重新 做一遍,还是出现错误:  Illegal instruction

// 上面过程 重新 做一遍,使用 API level 15, NDK 8 ,因为 我的手机2011年买的,Android 4.0(Ice Cream Sandwich冰淇淋三明治)

==============================下面不用看

解决方法:对比 helloworld

[root@localhost lib]# adb pull /data/data/helloworldcpp .

877 KB/s (102700 bytes in 0.114s)

[root@localhost lib]# ls

executer       libc.so      libiconv.so.2      libLibraries.so  libstdc++.so           libxerces-c-3.1.so  temp.txt

helloworld     libiconv.a   libiconv.so.2.5.1  libsqlite.a      libWorkflowEngineD.a   libxerces-c.a

helloworldcpp  libiconv.so  libLibraries.a     libsqlite.so     libWorkflowEngineD.so  temp2.txt

[root@localhost lib]#

********---------------------------********

库位置:

[root@localhost criteria-lin]# cd /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/

[root@localhost lib]# ls

crtbegin_dynamic.o  crtend_so.o    libdl.so         libGLESv3.so       libmediandk.so   libOpenSLES.so   libz.a

crtbegin_so.o       libandroid.so  libEGL.so        libjnigraphics.so  libm_hard.a      libstdc++.a      libz.so

crtbegin_static.o   libc.a         libGLESv1_CM.so  liblog.so          libm.so          libstdc++.so     rs

crtend_android.o    libc.so        libGLESv2.so     libm.a             libOpenMAXAL.so  libthread_db.so

[root@localhost lib]# ls /opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/libs/armeabi-v7a

libstlport_shared.so  libstlport.so  libstlport_static.a  thumb

[root@localhost lib]# ls /opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a

include  libgnustl_shared.so  libgnustl_static.a  libsupc++.a  thumb

[root@localhost lib]# ls /opt/cBPM-android/criteria-lin/lib

libiconv.a   libiconv.so.2      libLibraries.a   libsqlite.a   libWorkflowEngineD.a   libxerces-c-3.1.so

libiconv.so  libiconv.so.2.5.1  libLibraries.so  libsqlite.so  libWorkflowEngineD.so  libxerces-c.a

[root@localhost lib]#

********---------------------------********

//从手机上复制库文件libsqlite.so,便于调试系统

adb pull

adb push

adb pull /system/lib/libsqlite.so /opt/cBPM-android/criteria-lin/lib

adb pull /system/lib/ /opt/cBPM-android/mb526-all-lib

+++++++++++++

src/Criteria/Criteria.Tools/Criteria.Tools.Executor/Tools.Executor.depend

line 1628: 1427877163 /opt/cBPM-android/criteria-lin/include/bOS/selfded.h

+++++++++++++

编译结果:

[root@localhost android-ndk-r10d]# ll /usr/lib64/libLibraries.so

-rwxr-xr-x. 1 root root 8120944 9月  16 11:09 /usr/lib64/libLibraries.so

[root@localhost android-ndk-r10d]# ll /usr/lib64/libWorkflowEngineD.so

-rwxr-xr-x. 1 root root 16783140 9月  16 11:11 /usr/lib64/libWorkflowEngineD.so

[root@localhost android-ndk-r10d]#

+++++++++++++编译Libraries 和 WorkflowEngineD 共享库后,手动 编译 executer

export ARMGXX="/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++"

$ARMGXX -L/opt/cBPM-android/criteria-lin/lib -L/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/libs/armeabi-v7a -L/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/ -L/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9/armv7-a/ -o /opt/cBPM-android/criteria-lin/bin/Criteria/Debug/Tools.Executor/executer /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtbegin_static.o /opt/cBPM-android/criteria-lin/bin/Criteria/Debug/Tools.Executor/src/main.o  -static -nostdlib -Wl,-dy -ldl /opt/cBPM-android/criteria-lin/lib/libc.so -Wl,-dn  -lgcc -lstlport_static -lsqlite -lxerces-c -lLibraries -lWorkflowEngineD /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtend_android.o  2> log.txt

cat log.txt | cut -d: -f1 | uniq

-Wl,-dn -lLibraries -lWorkflowEngineD -lxerces-c -lsqlite -lstdc++ -lc -lstlport_static -Wl,-dy

静态库位置:    /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/

/opt/cBPM-android/criteria-lin/lib/

[root@localhost criteria-lin]# cd /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/

[root@localhost lib]# ls

crtbegin_dynamic.o  crtend_so.o    libdl.so         libGLESv3.so       libmediandk.so   libOpenSLES.so   libz.a

crtbegin_so.o       libandroid.so  libEGL.so        libjnigraphics.so  libm_hard.a      libstdc++.a      libz.so

crtbegin_static.o   libc.a         libGLESv1_CM.so  liblog.so          libm.so          libstdc++.so     rs

crtend_android.o    libc.so        libGLESv2.so     libm.a             libOpenMAXAL.so  libthread_db.so

[root@localhost lib]# ls /opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/libs/armeabi-v7a

libstlport_shared.so  libstlport.so  libstlport_static.a  thumb

[root@localhost lib]# ls /opt/cBPM-android/criteria-lin/lib

libiconv.a   libiconv.so.2      libLibraries.a   libsqlite.a   libWorkflowEngineD.a   libxerces-c-3.1.so

libiconv.so  libiconv.so.2.5.1  libLibraries.so  libsqlite.so  libWorkflowEngineD.so  libxerces-c.a

[root@localhost lib]#

+++++++++++++杂项,不必看

//--enable-transcoder-gnuiconv --enable-transcoder-iconv --enable-transcoder-icu

// 下载xerces:

// />

// />

+++++++++++++链接选项

-static

-nostdlib

-Xlinker

-R/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib

/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtbegin_static.o

/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtend_android.o

-Wl,-dy -lc -ldl -lstlport -lstdc++ -Wl,-dn

-static

-nostdlib

/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtbegin_static.o

/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtend_android.o

-Wl,-v -Wl,-dy -lc -ldl -lstlport -lstdc++ -Wl,-dn

-static

-nostdlib

-Wl,-rpath-link=/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib -L/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtbegin_dynamic.o /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtend_android.o

-Wl,-v -Wl,-dy -lc -ldl -lstlport -lstdc++ -Wl,-dn

+++++++++++++++++++

-static

On systems that support dynamic linking, this prevents linking with the shared libraries.  On other systems, this option

has no effect.

-shared

Produce a shared object which can then be linked with other objects to form an executable.  Not all systems support this

option.  For predictable results, you must also specify the same set of options used for compilation (-fpic, -fPIC, or

model suboptions) when you specify this linker option.[1]

+++++++++++++++++++

-------------- Build: Debug Win32 in Criteria.Libraries.bOS (compiler: GNU ARM GCC Compiler For Android)---------------

arm-linux-androideabi-ar -r -s ../../../bin/Criteria/Debug/bOS/libLibraries.a ../../../bin/Criteria/Debug/bOS/bOS.o ../../../bin/Criteria/Debug/bOS/CodeManager/CodeItem.o ../../../bin/Criteria/Debug/bOS/CodeManager/CodeTracer.o ../../../bin/Criteria/Debug/bOS/CodeManager/Tracer.o ../../../bin/Criteria/Debug/bOS/Collections/bOSCollection.o ../../../bin/Criteria/Debug/bOS/Collections/bOSCollectionEntry.o ../../../bin/Criteria/Debug/bOS/Core/bOSMutex.o ../../../bin/Criteria/Debug/bOS/Core/bOSSemaphore.o ../../../bin/Criteria/Debug/bOS/Core/bOSSmartLocker.o ../../../bin/Criteria/Debug/bOS/Core/bOSThread.o ../../../bin/Criteria/Debug/bOS/Exception/bOSException.o ../../../bin/Criteria/Debug/bOS/IO/bOSFile.o ../../../bin/Criteria/Debug/bOS/IO/bOSFileSystem.o ../../../bin/Criteria/Debug/bOS/JniInvoker.o ../../../bin/Criteria/Debug/bOS/Network/bOSSocketException.o ../../../bin/Criteria/Debug/bOS/Network/bOSSockets.o ../../../bin/Criteria/Debug/bOS/SQL/bOSResultSet.o ../../../bin/Criteria/Debug/bOS/SQL/bOSResultSetField.o ../../../bin/Criteria/Debug/bOS/SQL/bOSResultSetMetaData.o ../../../bin/Criteria/Debug/bOS/SQL/bOSResultSetRecord.o ../../../bin/Criteria/Debug/bOS/SQL/bOSSQLCommand.o ../../../bin/Criteria/Debug/bOS/SQL/bOSSQLCommands.o ../../../bin/Criteria/Debug/bOS/SQL/bOSSQLConnection.o ../../../bin/Criteria/Debug/bOS/SQL/bOSSQLConnectionManager.o ../../../bin/Criteria/Debug/bOS/SQL/bOSSQLConnectionPool.o ../../../bin/Criteria/Debug/bOS/SQL/bOSSQLField.o ../../../bin/Criteria/Debug/bOS/SQL/bOSSQLSmartConnection.o ../../../bin/Criteria/Debug/bOS/SQL/bOSSQLTable.o ../../../bin/Criteria/Debug/bOS/SQL/SQLite3/3rdLibraries/CppSQLite3.o ../../../bin/Criteria/Debug/bOS/SQL/SQLite3/3rdLibraries/sqlite3.o ../../../bin/Criteria/Debug/bOS/SQL/SQLite3/bOSSQLiteConnection.o ../../../bin/Criteria/Debug/bOS/SQL/SQLite3/bOSSQLiteConnectionData.o ../../../bin/Criteria/Debug/bOS/SQL/SQLite3/bOSSQLiteResultSet.o ../../../bin/Criteria/Debug/bOS/SQL/SQLite3/bOSSQLiteResultSetField.o ../../../bin/Criteria/Debug/bOS/SQL/SQLite3/bOSSQLiteResultSetMetaData.o ../../../bin/Criteria/Debug/bOS/String/bOSString.o ../../../bin/Criteria/Debug/bOS/String/bOSStringBuffer.o ../../../bin/Criteria/Debug/bOS/String/bOSStringUtils.o ../../../bin/Criteria/Debug/bOS/System/bOSProcess.o ../../../bin/Criteria/Debug/bOS/System/bOSSystem.o ../../../bin/Criteria/Debug/bOS/Utils/bOSDate.o ../../../bin/Criteria/Debug/bOS/Utils/bOSDateTime.o ../../../bin/Criteria/Debug/bOS/Utils/bOSTime.o ../../../bin/Criteria/Debug/bOS/Utils/bOSTimer.o ../../../bin/Criteria/Debug/bOS/Utils/bOSUniqueID.o ../../../bin/Criteria/Debug/bOS/XML/bOSXMLAttribute.o ../../../bin/Criteria/Debug/bOS/XML/bOSXMLHelper.o ../../../bin/Criteria/Debug/bOS/XML/bOSXMLNode.o ../../../bin/Criteria/Debug/bOS/XML/Data/bOSXMLObject.o ../../../bin/Criteria/Debug/bOS/XML/Data/bOSXMLObjectSet.o ../../../bin/Criteria/Debug/bOS/XML/Data/FileSystem/bOSXMLDirectory.o ../../../bin/Criteria/Debug/bOS/XML/Data/FileSystem/bOSXMLFile.o ../../../bin/Criteria/Debug/bOS/XML/XSLT/bOSXSLTManager.o

Running target post-build steps

cp /opt/cBPM-android/criteria-lin/bin/Criteria/Debug/bOS/libLibraries.a /opt/cBPM-android/criteria-lin/lib/

-------------- Build: Debug Win32 in Criteria.WorkflowEngine (compiler: GNU ARM GCC Compiler For Android)---------------

arm-linux-androideabi-ar -r -s ../../../bin/Criteria/Debug/WorkflowEngine/libWorkflowEngineD.a ../../../bin/Criteria/Debug/WorkflowEngine/actions/ApplicationFunctionAction.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/ApplicationFunctionActionAttach.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/BaseAction.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/ConditionAction.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/ConsumeEventAction.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/EvalExpressionAction.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/EvalRetrieveParameter.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/EventAction.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/IterationAction.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/IterationCounterAction.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/IterationExpressionAction.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/MakeEventAction.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/PrimitiveAction.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/PrimitiveActionAttach.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/PrimitiveActionDetach.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/ProcessAction.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/ProcessActionAttach.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/SubFlowExitAction.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/XMLAction.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/XMLActionXMLFile.o ../../../bin/Criteria/Debug/WorkflowEngine/actions/XMLActionXSLT.o ../../../bin/Criteria/Debug/WorkflowEngine/Application/Application.o ../../../bin/Criteria/Debug/WorkflowEngine/Application/ApplicationException.o ../../../bin/Criteria/Debug/WorkflowEngine/Application/ApplicationFunction.o ../../../bin/Criteria/Debug/WorkflowEngine/Application/ApplicationFunctionResult.o ../../../bin/Criteria/Debug/WorkflowEngine/Application/ApplicationFunctions.o ../../../bin/Criteria/Debug/WorkflowEngine/Application/ApplicationManager.o ../../../bin/Criteria/Debug/WorkflowEngine/Application/Applications.o ../../../bin/Criteria/Debug/WorkflowEngine/Application/FunctionExecution.o ../../../bin/Criteria/Debug/WorkflowEngine/Application/LibraryFunctionExecution.o ../../../bin/Criteria/Debug/WorkflowEngine/Application/ProcessFunctionExecution.o ../../../bin/Criteria/Debug/WorkflowEngine/Application/ScriptFunctionExecution.o ../../../bin/Criteria/Debug/WorkflowEngine/Application/SocketFunctionExecution.o ../../../bin/Criteria/Debug/WorkflowEngine/Application/SQLApplicationDataModelDefines.o ../../../bin/Criteria/Debug/WorkflowEngine/Application/XMLApplicationDataModelDefines.o ../../../bin/Criteria/Debug/WorkflowEngine/CommonDefines.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Activities.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Activity.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/ActivityComponent.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Attribute.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Attributes.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Behaviour.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/BehaviourBase.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/BehaviourExecution.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/BehaviourFinish.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/BehaviourStart.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Connection.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Connections.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/DataBase.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/DataBaseHelper.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/DataBaseObject.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/DataBaseObjectManager.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/DataBaseTemplate.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/DataType.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/DataTypes.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/DataTypeValue.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/DataTypeValues.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/ExtendedAttribute.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/ExtendedAttributes.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/FileSystemConnection.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/FileSystemDataBase.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/FormalParameter.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/FormalParametes.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Grant.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Grants.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Log.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Logs.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Message.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Messages.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/mySQLConnection.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/ODBCConnection.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/PoolManager.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/ProcessComponent.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/ProcessesHandler.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Report.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Reports.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Role.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Roles.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Script.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Service.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Services.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/SQLDataBaseDefines.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/SQLiteConnection.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Status.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Transition.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Transitions.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/User.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/Users.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/WorkflowProcess.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/WorkflowProcessInstanceRepository.o ../../../bin/Criteria/Debug/WorkflowEngine/DataBase/XMLDataModelDefines.o ../../../bin/Criteria/Debug/WorkflowEngine/engine/Engine.o ../../../bin/Criteria/Debug/WorkflowEngine/engine/EventsManagerThread.o ../../../bin/Criteria/Debug/WorkflowEngine/engine/IDataType.o ../../../bin/Criteria/Debug/WorkflowEngine/engine/IWorkflow.o ../../../bin/Criteria/Debug/WorkflowEngine/engine/NaturalType.o ../../../bin/Criteria/Debug/WorkflowEngine/engine/Workflow.o ../../../bin/Criteria/Debug/WorkflowEngine/engine/WorkflowManager.o ../../../bin/Criteria/Debug/WorkflowEngine/engine/WorkflowReport.o ../../../bin/Criteria/Debug/WorkflowEngine/engine/WorkFlowThread.o ../../../bin/Criteria/Debug/WorkflowEngine/events/BaseEvent.o ../../../bin/Criteria/Debug/WorkflowEngine/events/BaseProcessEvent.o ../../../bin/Criteria/Debug/WorkflowEngine/events/BaseWorkflowEvent.o ../../../bin/Criteria/Debug/WorkflowEngine/events/CreatedProcessEvent.o ../../../bin/Criteria/Debug/WorkflowEngine/events/CreatingProcessEvent.o ../../../bin/Criteria/Debug/WorkflowEngine/events/EndWorkflowEvent.o ../../../bin/Criteria/Debug/WorkflowEngine/events/ErrorWorkflowEvent.o ../../../bin/Criteria/Debug/WorkflowEngine/events/EventListener.o ../../../bin/Criteria/Debug/WorkflowEngine/events/EventMaker.o ../../../bin/Criteria/Debug/WorkflowEngine/events/ManualWorkflowEvent.o ../../../bin/Criteria/Debug/WorkflowEngine/events/RestartedWorkflowEvent.o ../../../bin/Criteria/Debug/WorkflowEngine/events/StartedWorkflowEvent.o ../../../bin/Criteria/Debug/WorkflowEngine/events/StartingWorkflowEvent.o ../../../bin/Criteria/Debug/WorkflowEngine/events/WorkflowListener.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/Event.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/EventActions.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/EventConsumerPolicy.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/EventContext.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/EventInvocationPolicy.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/EventPolicies.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/Events.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/EventsDefinition.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/EventsManager.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/EventSource.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/ManagedEventElement.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/OccurredEvent.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/ScenarioEventAction.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/WaitingActivities.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/WaitingActivity.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/WaitingEvent.o ../../../bin/Criteria/Debug/WorkflowEngine/ExternalEvent/XMLEventDataModelDefines.o ../../../bin/Criteria/Debug/WorkflowEngine/Idioma/Condition.o ../../../bin/Criteria/Debug/WorkflowEngine/Idioma/Evaluator.o ../../../bin/Criteria/Debug/WorkflowEngine/Idioma/Expression.o ../../../bin/Criteria/Debug/WorkflowEngine/Idioma/FreeText.o ../../../bin/Criteria/Debug/WorkflowEngine/Idioma/Function.o ../../../bin/Criteria/Debug/WorkflowEngine/Idioma/ItemInterface.o ../../../bin/Criteria/Debug/WorkflowEngine/Idioma/Keyword.o ../../../bin/Criteria/Debug/WorkflowEngine/Idioma/Parameter.o ../../../bin/Criteria/Debug/WorkflowEngine/tasks/ApplicationFunctionTask.o ../../../bin/Criteria/Debug/WorkflowEngine/tasks/BaseTask.o ../../../bin/Criteria/Debug/WorkflowEngine/tasks/BeginTask.o ../../../bin/Criteria/Debug/WorkflowEngine/tasks/ConditionTask.o ../../../bin/Criteria/Debug/WorkflowEngine/tasks/EventTask.o ../../../bin/Criteria/Debug/WorkflowEngine/tasks/LoopTask.o ../../../bin/Criteria/Debug/WorkflowEngine/tasks/PrimitiveTask.o ../../../bin/Criteria/Debug/WorkflowEngine/tasks/ProcessTask.o ../../../bin/Criteria/Debug/WorkflowEngine/tasks/SubFlowExitTask.o ../../../bin/Criteria/Debug/WorkflowEngine/tasks/XMLTask.o ../../../bin/Criteria/Debug/WorkflowEngine/WAPI/Logger.o ../../../bin/Criteria/Debug/WorkflowEngine/WAPI/WAPI.o ../../../bin/Criteria/Debug/WorkflowEngine/WAPI/WAPIActivity.o ../../../bin/Criteria/Debug/WorkflowEngine/WAPI/WAPIApplication.o ../../../bin/Criteria/Debug/WorkflowEngine/WAPI/WAPIDataBase.o ../../../bin/Criteria/Debug/WorkflowEngine/WAPI/WAPIDataType.o ../../../bin/Criteria/Debug/WorkflowEngine/WAPI/WAPIProcess.o ../../../bin/Criteria/Debug/WorkflowEngine/WAPI/WAPIReport.o ../../../bin/Criteria/Debug/WorkflowEngine/WAPI/WAPIRole.o ../../../bin/Criteria/Debug/WorkflowEngine/WAPI/WAPIService.o ../../../bin/Criteria/Debug/WorkflowEngine/WAPI/WAPIUser.o ../../../bin/Criteria/Debug/WorkflowEngine/WAPI/WAPIWorkflow.o ../../../bin/Criteria/Debug/WorkflowEngine/WAPI/WAPIWorkItem.o

Running target post-build steps

cp /opt/cBPM-android/criteria-lin/bin/Criteria/Debug/WorkflowEngine/libWorkflowEngineD.a /opt/cBPM-android/criteria-lin/lib/

-------------- Build: Debug Win32 in Criteria.Tools.Executor (compiler: GNU ARM GCC Compiler For Android)---------------

arm-linux-androideabi-g++ -L/opt/cBPM-android/criteria-lin/lib -L/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/libs/armeabi-v7a -L/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/ -L/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9/armv7-a/ -o /opt/cBPM/criteria-lin/bin/Criteria/Debug/Tools.Executor/executer /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtbegin_static.o /opt/cBPM/criteria-lin/bin/Criteria/Debug/Tools.Executor/src/main.o  -static -nostdlib -Wl,-v -Wl,-dy -lc -ldl -lstlport -lstdc++ -Wl,-dn  -lgcc -lsqlite -lxerces-c -lLibraries -lWorkflowEngineD /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtend_android.o

collect2 version 4.9 20140827 (prerelease)

/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld -plugin /opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.9/liblto_plugin.so -plugin-opt=/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccwc8SHF.res --sysroot=/tmp/ndk-andrewhsieh/build/toolchain/prefix/sysroot --eh-frame-hdr -Bstatic -X -m armelf_linux_eabi -z noexecstack -z relro -z now -o /opt/cBPM/criteria-lin/bin/Criteria/Debug/Tools.Executor/executer -L/opt/cBPM-android/criteria-lin/lib -L/opt/android-on-linux/android-ndk-r10d/sources/cxx-stl/stlport/libs/armeabi-v7a -L/opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/ -L/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9/armv7-a/ -L/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9 -L/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc -L/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/lib /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtbegin_static.o /opt/cBPM/criteria-lin/bin/Criteria/Debug/Tools.Executor/src/main.o -v -dy -lc -ldl -lstlport -lstdc++ -dn -lgcc -lsqlite -lxerces-c -lLibraries -lWorkflowEngineD /opt/android-on-linux/android-ndk-r10d/platforms/android-19/arch-arm/usr/lib/crtend_android.o

src/main.cpp:155: error: undefined reference to '__cxa_end_cleanup'

阅读(814) | 评论(0) | 转发(0) |

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值