AM335x下dbus-1.0.2源碼ARM編譯和Qt dBus編譯
AM335x下dbus-1.0.2源碼ARM編譯
1.解壓:
tar zxvf dbus-1.0.2.tar.gz
2.設置環境變量:
export PKG_CONFIG_PATH=/usr/share/pkgconfi
echo ac_cv_have_abstract_sockets=yes>arm-linux.cache
3.生成配置文件
./configure --host=arm-linux --prefix=/usr/local/arm/dbus-1.0.2 CC=arm-arago-linux-gnueabi-gcc --cache-file=arm-linux.cache --without-x
4.修改程序
vi dbus/dbus-sysdeps-unix.c
struct ucred
{
pid_t pid; /* PID of sending process. */
uid_t uid; /* UID of sending process. */
gid_t gid; /* GID of sending process. */
};
5.編譯:make
6.安裝:make install
-----------------------下面是Qt dbus源碼編譯--------------------------
1.進入Qt源碼庫更改:
-dbus -dbus-linked -I/usr/local/arm/dbus-1.0.2/include/dbus-1.0 -I/usr/local/arm/dbus-1.0.2/lib/dbus-1.0/include -L/usr/local/arm/dbus-1.0.2/lib -ldbus-1 -lpthread -lrt
可以這樣寫:
-dbus \
-dbus-linked \
-I/usr/local/arm/dbus-1.0.2/include/dbus-1.0 \
-I/usr/local/arm/dbus-1.0.2/lib/dbus-1.0/include \
-L/usr/local/arm/dbus-1.0.2/lib -ldbus-1 -lpthread -lrt \
源文件:
# !bin/bash
./configure -prefix $HOME/qtenv/qt-4.8.2-arm \
-opensource \
-confirm-license \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-platform /qws/linux-x86-g++ \
-little-endian \
-host-little-endian \
-shared \
-no-qt3support \
-no-phonon -no-phonon-backend \
-qt-zlib \
-no-gif \
-no-libtiff \
-no-qvfb \
-qt-libjpeg \
-no-nis \
-no-opengl \
-no-cups \
-no-webkit \
-no-glib \
-no-rpath \
-no-mmx -no-3dnow \
-no-sse -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 \
-no-avx -no-neon \
-no-audio-backend \
-no-svg \
-no-javascript-jit \
-no-script \
-no-scripttools \
-no-multimedia \
-no-openssl \
-nomake tools \
-qt-mouse-tslib \
-dbus \
-dbus-linked \
-I/usr/local/arm/dbus-1.0.2/include/dbus-1.0 \
-I/usr/local/arm/dbus-1.0.2/lib/dbus-1.0/include \
-L/usr/local/arm/dbus-1.0.2/lib -ldbus-1 -lpthread -lrt \
-I/home/liuc/qtenv/tslib/include \
-L/home/liuc/qtenv/tslib/lib
編譯出錯:
./src/dbus/qdbusconnection.cpp
./src/dbus/qdbusconnection_p.h
./src/dbus/qdbus_symbols_p.h
In file included from qdbusconnection_p.h:70:0,
from qdbusconnection.cpp:52:
qdbus_symbols_p.h: In function 'void q_dbus_get_version(int*, int*, int*)':
qdbus_symbols_p.h:300:1: error: 'dbus_get_version' was not declared in this scope
make[1]: *** [.obj/release-shared-emb-arm/qdbusconnection.o] 錯誤 1
make[1]:正在離開目錄 `/home/informations/qt-everywhere-opensource-src-4.8.2/src/dbus'
make: *** [sub-dbus-make_default-ordered] 錯誤 2
註釋:
/*DEFINEFUNC(void , dbus_get_version , (int *major_version_p,
int *minor_version_p,
int *micro_version_p),
(major_version_p, minor_version_p, micro_version_p), )*/
最後編譯,安裝
make
make install
1.解壓:
tar zxvf dbus-1.0.2.tar.gz
2.設置環境變量:
export PKG_CONFIG_PATH=/usr/share/pkgconfi
echo ac_cv_have_abstract_sockets=yes>arm-linux.cache
3.生成配置文件
./configure --host=arm-linux --prefix=/usr/local/arm/dbus-1.0.2 CC=arm-arago-linux-gnueabi-gcc --cache-file=arm-linux.cache --without-x
4.修改程序
vi dbus/dbus-sysdeps-unix.c
struct ucred
{
pid_t pid; /* PID of sending process. */
uid_t uid; /* UID of sending process. */
gid_t gid; /* GID of sending process. */
};
5.編譯:make
6.安裝:make install
-----------------------下面是Qt dbus源碼編譯--------------------------
1.進入Qt源碼庫更改:
-dbus -dbus-linked -I/usr/local/arm/dbus-1.0.2/include/dbus-1.0 -I/usr/local/arm/dbus-1.0.2/lib/dbus-1.0/include -L/usr/local/arm/dbus-1.0.2/lib -ldbus-1 -lpthread -lrt
可以這樣寫:
-dbus \
-dbus-linked \
-I/usr/local/arm/dbus-1.0.2/include/dbus-1.0 \
-I/usr/local/arm/dbus-1.0.2/lib/dbus-1.0/include \
-L/usr/local/arm/dbus-1.0.2/lib -ldbus-1 -lpthread -lrt \
源文件:
# !bin/bash
./configure -prefix $HOME/qtenv/qt-4.8.2-arm \
-opensource \
-confirm-license \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-platform /qws/linux-x86-g++ \
-little-endian \
-host-little-endian \
-shared \
-no-qt3support \
-no-phonon -no-phonon-backend \
-qt-zlib \
-no-gif \
-no-libtiff \
-no-qvfb \
-qt-libjpeg \
-no-nis \
-no-opengl \
-no-cups \
-no-webkit \
-no-glib \
-no-rpath \
-no-mmx -no-3dnow \
-no-sse -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 \
-no-avx -no-neon \
-no-audio-backend \
-no-svg \
-no-javascript-jit \
-no-script \
-no-scripttools \
-no-multimedia \
-no-openssl \
-nomake tools \
-qt-mouse-tslib \
-dbus \
-dbus-linked \
-I/usr/local/arm/dbus-1.0.2/include/dbus-1.0 \
-I/usr/local/arm/dbus-1.0.2/lib/dbus-1.0/include \
-L/usr/local/arm/dbus-1.0.2/lib -ldbus-1 -lpthread -lrt \
-I/home/liuc/qtenv/tslib/include \
-L/home/liuc/qtenv/tslib/lib
編譯出錯:
./src/dbus/qdbusconnection.cpp
./src/dbus/qdbusconnection_p.h
./src/dbus/qdbus_symbols_p.h
In file included from qdbusconnection_p.h:70:0,
from qdbusconnection.cpp:52:
qdbus_symbols_p.h: In function 'void q_dbus_get_version(int*, int*, int*)':
qdbus_symbols_p.h:300:1: error: 'dbus_get_version' was not declared in this scope
make[1]: *** [.obj/release-shared-emb-arm/qdbusconnection.o] 錯誤 1
make[1]:正在離開目錄 `/home/informations/qt-everywhere-opensource-src-4.8.2/src/dbus'
make: *** [sub-dbus-make_default-ordered] 錯誤 2
註釋:
/*DEFINEFUNC(void , dbus_get_version , (int *major_version_p,
int *minor_version_p,
int *micro_version_p),
(major_version_p, minor_version_p, micro_version_p), )*/
最後編譯,安裝
make
make install
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.