今天終於拿到moto官方SDK,是for A1200的,包括toolchian和EZX庫及頭文件,該SDK也適用於moto E6. 按照安裝指導文檔安裝好SDK並執行腳本設置好環境變量後,首先是build一個最簡單的sample程序hello,以驗證SDK是否安裝正確。運行qmake卻出現如下錯誤:
~/workspace/devtools/moto-sdk/sample/gui/hello$ qmake hello.pro
qmake: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory
使用ldd命令查看sdk所帶的qmake所依賴的動態庫:
~/workspace/devtools/moto-sdk/qt-2.3.6/bin$ ldd qmake
linux-gate.so.1 => (0xb7f0a000)
libstdc++-libc6.2-2.so.3 => not found
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7ed1000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d6d000)
/lib/ld-linux.so.2 (0xb7f0b000)
可以看到qmake依賴的動態庫libstdc++-libc6.2-2.so.3,上網搜索了一下,瞭解到這個庫是老版本的gcc庫文件,ubuntu下的解決方法是上http://packages.ubuntu.com上下載並安裝libstdc++2.10-glibc2.2_2.95.4-24_i386.deb包,此時qmake可以生成Makefile,但是make時又出現如下錯誤:
~/workspace/devtools/moto-sdk/sample/gui/hello$ make
arm-linux-g++ -DQT_QWS_IPAQ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I. -I/home/chenzhengyong/workspace/devtools/moto-sdk/ezx/include -I/home/chenzhengyong/workspace/devtools/moto-sdk/ezx/include/gui -I/home/chenzhengyong/workspace/devtools/moto-sdk/qt-2.3.6/include -I/home/chenzhengyong/workspace/devtools/moto-sdk/qt-2.3.6/mkspecs/qws/linux-ipaq-g++ -o MyWidget.o MyWidget.cpp
arm-linux-g++ -DQT_QWS_IPAQ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I. -I/home/chenzhengyong/workspace/devtools/moto-sdk/ezx/include -I/home/chenzhengyong/workspace/devtools/moto-sdk/ezx/include/gui -I/home/chenzhengyong/workspace/devtools/moto-sdk/qt-2.3.6/include -I/home/chenzhengyong/workspace/devtools/moto-sdk/qt-2.3.6/mkspecs/qws/linux-ipaq-g++ -o main.o main.cpp
/home/chenzhengyong/workspace/devtools/moto-sdk/qt-2.3.6/bin/moc MyWidget.h -o moc_MyWidget.cpp
/home/chenzhengyong/workspace/devtools/moto-sdk/qt-2.3.6/bin/moc: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory
make: *** [moc_MyWidget.cpp] Error 127
解決的方法是建立一個鏈接:
~/workspace/devtools/moto-sdk/sample/gui/hello$ sudo ln -s libstdc++-3-libc6.2-2-2.10.0.so /usr/lib/libstdc++-libc6.1-1.so.2
再make即可生成應用程序,可以下載到手機上運行。