[轉]編譯QNX平臺的源碼文件-google protobuf與libevent

鋒影

email:[email protected]

如果你認爲本系列文章對你有所幫助,請大家有錢的捧個錢場,點擊此處贊助,贊助額0.1元起步,多少隨意

 

1.在終端中運行QNX sdp安裝目錄下的環境變量文件

source  qnxsdp-env.sh

 


2.在protobuf目錄下,運行configure 配置編譯器爲qnx編譯器,目標爲arm。如果qnx運行在x86或x86_64,可把ntoarmv7-gcc  ntoarmv7-g++

中的armv7替換爲x86或x86_64,編譯器路徑根據sdp安裝路徑找到。

./configure --prefix=/home/zoutianming/google/qnx/protobuf-c++/arm --host=arm --build=i686-pc-linux CC=/home/zoutianming/qnx700/host/linux/x86_64/usr/bin/ntoarmv7-gcc CXX=/home/zoutianming/qnx700/host/linux/x86_64/usr/bin/ntoarmv7-g++ --with-protoc=protoc --disable-shared

3.依次執行make與make install命令

 

 


 


編譯libevent

1.在終端中運行QNX sdp安裝目錄下的環境變量文件

source  qnxsdp-env.sh

2.在libevent目錄下,運行configure 

配置編譯器爲qnx編譯器,目標爲arm。如果qnx運行在x86或x86_64,可把ntoarmv7-gcc  ntoarmv7-g++

中的armv7替換爲x86或x86_64,編譯器路徑根據sdp安裝路徑找到。

qnx運行在pc時,--host 設置爲i686-pc-qnx ,運行在arm時設置爲arm-qnx  

--build設定編譯平臺

--prefix 指定最終include文件和庫文件的安裝路徑

CC設定編譯器  

--enable-shared=no --enable-static=yes 只編譯靜態文件

./configure --prefix=/home/zoutianming/opensource/temp --host=i686-pc-qnx --build=i686-pc-linux CC=/home/zoutianming/qnx700/host/linux/x86_64/usr/bin/ntoarmv7-gcc  --enable-shared=no --enable-static=yes

3.依次執行make 與make install命令

在make時,可能會報SA_RESTART undefined 錯誤,原因時QNX中沒有此信號類型,可將其更改爲如下:

#ifdef SA_RESTART //to fix the problem that QNX don't have SA_RESTART 

sa.sa_flags |= SA_RESTART;

 #endif

即無該信號時,該代碼不參與編譯。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章