qt5.10.0
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libffi-dev
sudo apt-get install autoconf automake libtool curl make g++ unzip
protobuf 3.6.1
curl 7.53.0
openssl 1.1.0g
sudo apt install openssl
sudo apt install libssh2-1-dev
sudo apt install libssl-dev
protobuf
$ ./configure
$ make
$ sudo make install
$ sudo ldconfig # refresh shared library cache.
交叉編譯樹梅派
./configure --host=arm-linux-gnueabihf cc=arm-linux-gnueabihf-gcc cxx=arm-linux-gnueabihf-g++ --prefix=/home/konyun/raspberrypi/protobuf
在linux上編譯google protobuff時,configure 預設選項是生成動態庫,即libprotobuf.so檔案。如果同時在多個動態庫(動態庫以dlopen方式動態載入)中使用同一buff結構,則執行時會報錯誤:
ibprotobuf error google/protobuf/descriptor_database.cc:57] file already exists in database: foo/foo.proto libprotobuf fatal google/protobuf/descriptor.cc:862] check failed: generated_database_->add(encoded_file_descriptor, size): terminate called after throwing an instance of 『google::protobuf::fatalexception』 what(): check failed: generated_database_->add(encoded_file_descriptor, size):
為了解決這個問題,google protobuff,則不能以動態庫的形式呼叫,改用靜態庫的形式在編譯時載入。
編譯google protobuff時,在configure 時加上選項:
configrue --disable-shared
libs/assert.o: relocation r_x86_64_32 against `a local symbol』 can not be used when ****** a shared object; recompile with -fpic .libs/assert.o: could not read symbols: bad value
解決該問題,需要重新編譯google protobuff庫,並新增編譯選項:-fpic
以文字形式開啟google buff**目錄下的configure檔案,在把第2575至2578行修改為如下:
if test 「xacc
venv
cfla
gsse
t"="
x";t
hen:
cfla
gs="
−fpi
c"fi
ifte
st"x
" = "x"; then : cflags="-fpic" fi if test "x
accve
nvc
fla
gss
et"=
"x";
then
:cfl
ags=
"−fp
ic"f
iift
est"
x」 = 「x」; then : cxxflags="-fpic"
curl 7.53.0
$ make
$ sudo make install
$ sudo ldconfig # refresh shared library cache.
交叉編譯樹梅派
./configure --host=arm-linux-gnueabihf cc=arm-linux-gnueabihf-gcc cxx=arm-linux-gnueabihf-g++ --with-ssl --enable-shared --enable-static --disable-dict --disable-ftp --disable-imap --disable-ldap --disable-ldaps --disable-pop3 --disable-proxy --disable-rtsp --disable-smtp --disable-telnet --disable-tftp --disable-zlib --without-ca-bundle --without-gnutls --without-libidn --without-librtmp --without-libssh2 --without-nss --without-zlib
zlib的命令安裝就三條,依次輸入執行,簡單粗暴:
sudo apt-get install ruby
sudo apt-get install zlib1g
sudo apt-get install zlib1g.dev
mac開發 ios開發
但是,任何乙個作業系統上,只使用開發語言就去開發程式是不行的。還需要有介面庫。尤其是支援object c的介面庫。mac上使用oc開發應用程式,都會使用xcode這個ide,整合開發工具,xcode中整合了gui介面庫。可以直接拖動控制項到介面上。objective c是一門語言,而cocoa 是這...
Quartz開發 基礎開發
開發環境.net 4.5.1 quartz.dll v2.4.1.0 依賴下面的dll common.loggin.dll v3.3.1.0 依賴下面的dll common.loggin.core.dll v3.3.1.0 本次教程只介紹基於quartz jobs.xml配置檔案方式的開發,這也是簡...
Spark開發 開發總覽
spark 的層次 開發視角多涉及兩種層面。1.一種是spark自身的開發,這類開發涉及到j a和sala以及一些底層的原始碼。了解這些內容,主要用於底層框架的開發以及針對spark的二次開發,也就是spark架構設計與實現。要求深入spark原始碼研究和二次開發,這些一般是大資料平台的設計與開發,...