原创 升級gcc

1.下載源碼包http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-5.2.0/gcc-5.2.0.tar.bz2tar -jxvf gcc-5.2.0.tar.bz22.下載編譯所

原创 GCC 警告選項 -Werror

cc1plus: all warnings being treated as errors解決辦法:只需要找到相應的Makefile,去掉編譯選項中的 -Werror 即可。--Werror視警告爲錯誤;出現任何警告即放棄編譯.-Wall會

原创 makefile介紹

默認的情況下,make命令會在當前目錄下按順序找尋文件名爲"GNUmakefile"、"makefile"、"Makefile"的文件,找到了解釋這個文件。在這三個文件名中,最好使用"Makefile"這個文件名,因爲,這個文件名第一個字符

原创 XMPP協議

http://xmpp.org/XMPP(Extensible Messageing and Presence Protocol:可擴展消息與存在協議)是一種基於標準通用標記語言的子集XML的協議,它繼承了在XML環境中靈活的發展性。XMP

原创 ejabberd

https://www.ejabberd.im/ejabberd是基於Jabber/XMPP協議的即時通訊服務器,由GPLv2授權(免費和開放源碼),採用Erlang/OTP開發。它的特點是,跨平臺,容錯,集羣和模塊化。ejabberd目前

原创 -ldl 選項作用

如果你的程序中使用dlopen、dlsym、dlclose、dlerror 顯示加載動態庫,需要設置鏈接選項 -ldl

原创 gcc編譯選項

(1)fpic 和 fPIC 區別在64位下編譯動態庫的時候,經常會遇到下面的錯誤/usr/bin/ld: /tmp/ccQ1dkqh.o: relocation R_X86_64_32 against `a local symbol' c

原创 Openfire/Spark/Smack

Openfire, Spark, Smack 是Java實現的基於XMPP協議的企業級IM解決方案。Openfire:實現XMPP協議的IM服務器。有自己的管理web。Openfire數據表描述: http://www.ignitereal

原创 ld加載so路徑設置

linux下一般程序運行時查找動態庫的順序:(1)根據環境變量LD_LIBRARY_PATH查找(2)根據/etc/ld.so.cache查找(3)查找依次在/lib和/usr/lib目錄查找------------------------

原创 mingw介紹

http://www.mingw.org/MinGW:一個可自由使用和自由發佈的Windows特定頭文件和使用GNU工具集導入庫的集合,允許你生成本地的Windows程序而不需要第三方C運行時庫。MinGW,即 Minimalist GNU

原创 交叉編譯概述

交叉編譯,簡單地說,就是在 一個平臺上生成另一個平臺上的可執行代 。要進行交叉編譯,我們需要在主機平臺上安裝對應的交叉編譯工具鏈(cross compilation tool chain),然後用這個交叉編譯工具鏈編譯我們的源代碼,最終生成

原创 mingw和cygwin區別

minGW與cygwin==========================首先MingW和cygwin都可以用來跨平臺開發。  MinGW是Minimalistic GNU for Windows的縮寫,也就是Win版的 精簡的GCC 。

原创 autoconf,automake,libtool

(1)autoscan, automake, autoconf 之間的協作關係(2)libtoolo: 編譯的目標文件a: 靜態庫,其實就是把若干o文件打了個包so: 動態鏈接庫(共享庫)lo: 使用libtool編譯出的目標文件,其實就是

原创 編譯問題

(1)warning: no newline at end of file結尾需要有一個空行你在程序末尾多打個回車就行了

原创 cc,gcc,g++

gcc和g++都是GUN(組織)的編譯器。gcc是C編譯器g++是C++編譯器linux下cc一般是一個符號連接,指向gccls /usr/bin下面是linux自帶的autoconf工具-rwxr-xr-x.   1 root root