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 (靜態(tài)庫)
[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 靜態(tài)庫
-----------------如果遇到錯誤,參考下面內(nèi)容
錯誤: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
//復(fù)制庫文件(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'
解決方法:+++++++++++++ 在上面基礎(chǔ)上,編譯libiconv (靜態(tài)庫)
這似乎是NDK的BUG,在stdlib.h內(nèi)有宣告出__ctype_get_mb_cur_max函數(shù),但是卻沒有去實作它。如果出現(xiàn)這個問題,不建議直接修改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 (靜態(tài)庫)
[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 命令只報告與該文件有關(guān)的或者庫或者對象名。
[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時,需要 靜態(tài)鏈接 /opt/cBPM-android/criteria-lin/lib/libiconv.a
+++++++++++++
+++++++++++++編譯xerces-c-3.1.2(動態(tài)庫)—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
解決方法如下:
//編譯靜態(tài)庫
[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
//編譯動態(tài)庫
[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
//成功編譯動態(tài)庫
[root@localhost xerces-c-3.1.2]# find . -name libxerces-c-3.1.so
./src/.libs/libxerces-c-3.1.so
//復(fù)制庫文件(arm)
[root@localhost xerces-c-3.1.2]# cp ./src/.libs/libxerces-c-3.1.so /opt/cBPM-android/criteria-lin/lib
步驟(問題)8:
+++++++++++++ 在上面基礎(chǔ)上,編譯xerces-c (靜態(tài)庫)
編譯xerces-c (靜態(tài)庫)—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 靜態(tài)庫
-----------------如果遇到錯誤,參考下面內(nèi)容
/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
解決方法如下:
//編譯靜態(tài)庫
[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
//成功編譯靜態(tài)庫
[root@localhost xerces-c-3.1.2]# find . -name libxerces-c.a
./src/.libs/libxerces-c.a
//復(fù)制庫文件(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'
解決方法:+++++++++++++ 在上面基礎(chǔ)上,編譯xerces-c (靜態(tài)庫)
[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()調(diào)用給繞過去了
保存,重新編譯xerces-c (靜態(tài)庫)
+++++++++++++
步驟(問題)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 相關(guān) 代碼,使用如下:
#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,中刪除如下內(nèi)容:
步驟(問題)10:
********---------------------------編譯參數(shù) 設(shè)置********codeblocks 全局參數(shù) 設(shè)置:
【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
********---------------------------******** 全局參數(shù) 設(shè)置:權(quán)宜之計,實現(xiàn) 靜態(tài)庫的編譯:
【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
********---------------------------******** 全局參數(shù) 設(shè)置:權(quán)宜之計,實現(xiàn) 鏈接對象順序的正確,否則,編譯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 局部參數(shù) 設(shè)置: Criteria.Libraries.bOS
【Settings】->【Compiler】->【GNU ARM GCC Compiler For Android】->【Compiler Settings】->【Other options】
-W
-O0
-g3
-c
-fmessage-length=0
-fexceptions
默認情況下,GNU工具鏈編譯過程中,控制臺輸出的一行信息是不換行的,這樣,當(dāng)輸出信息過長時(如編譯錯誤時的信息),會導(dǎo)致你無法看到完整的輸出信息,加入-fmessage-length=0后,輸出信息會根據(jù)控制臺的寬度自動換行,這樣就能看全輸出信息了。
【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】,設(shè)置見圖。
********---------------------------********
codeblocks 局部參數(shù) 設(shè)置: 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】,設(shè)置見圖。
********---------------------------********
codeblocks 局部參數(shù) 設(shè)置: 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 局部參數(shù) 設(shè)置: 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】,設(shè)置見圖。
至此,編譯Criteria.Tools.Executor成功,具體見? 步驟(問題)11:
+++++++++++++編譯Criteria.Tools.Executor出錯,參考下面內(nèi)容
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 調(diào)用str()后需要自己清除存儲空間的不便,才有了后來的ostringstream,對這個問題的改進,我們不必須再負責(zé)清除存儲空間啦.
+++++++++++++編譯Criteria.Tools.Executor錯誤
bionic/libc/bionic/libc_logging.cpp:165: error: undefined reference to '__aeabi_uldivmod'
使用手機上的libc.so,不使用靜態(tài)庫
[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 局部參數(shù) 設(shè)置: 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'
需要 靜態(tài)鏈接 /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
這是因為系統(tǒng)的動態(tài)鏈接器與executer程序中動態(tài)鏈接器的名字或路徑不對,執(zhí)行如下命令:
[root@localhost lib]# pwd
/opt/cBPM-android/criteria-lin/lib
[root@localhost lib]# readelf -l executer
Elf 文件類型為 EXEC (可執(zhí)行文件)
入口點 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:
段節(jié)...
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
//這個錯誤表明我們的程序執(zhí)行了不正確的指令。一般這種情況是因為我們編譯起編譯出了較高版本的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/
// 上面過程 重新 做一遍,還是出現(xiàn)錯誤:? 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]#
********---------------------------********
//從手機上復(fù)制庫文件libsqlite.so,便于調(diào)試系統(tǒng)
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
+++++++++++++
編譯結(jié)果:
[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
靜態(tài)庫位置:?? ?/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) | 轉(zhuǎn)發(fā)(0) |
總結(jié)
以上是生活随笔為你收集整理的libiconv android编译,编译cBPM-android-19—CodeBlocks—CentOS7— ndk10—编译libiconv和xerces-c...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS2015 VisualSVN的 破解
- 下一篇: linux基于域的虚拟目录,RHELAS