POCO (Portable Components) 是一套現代化、強大的開源 C++ 類別庫與框架,專為建構可在桌面、伺服器、行動裝置與嵌入式系統上運行的網路與網際網路應用程式而設計。它提供了網路通訊、資料庫存取、XML 處理、多執行緒、檔案系統操作等豐富功能,是 C++ 開發者跨平台開發的利器。
強烈建議僅從 POCO 官方網站 下載原始碼,避免從國內鏡像站下載可能遭竄改或版本過舊的風險。
POCO 的某些模組(如 Data/ODBC、Data/MySQL)依賴系統上的資料庫開發函式庫。若系統缺少這些套件,配置階段會報錯。建議先安裝:
# yum -y install unixODBC unixODBC-devel mysql mysql-devel
若不需資料庫功能,可在 ./configure 時以 --omit 參數排除相關模組。
# gunzip poco-X.Y.tar.gz
# tar -xf poco-X.Y.tar
# cd poco-X.Y
# ./configure
若需自訂安裝路徑、排除模組或啟用靜態/動態庫:
# ./configure --omit=Data/ODBC,Data/SQLite --prefix=/usr --static --shared
--omit:排除不需編譯的模組(以逗號分隔)--prefix:指定安裝目錄(預設 /usr/local)--static / --shared:同時建構靜態庫與動態庫;若省略則僅建構動態庫64 位元系統建構靜態庫的關鍵提示:必須加入 --cflags=-fPIC,否則後續連結動態庫時會報錯:
# ./configure --omit=Data/ODBC,Data/SQLite --prefix=/usr --cflags=-fPIC --static
# gmake -s
# gmake -s install
-s 參數可抑制詳細輸出,讓過程更乾淨。安裝完成後,POCO 的頭文件與庫文件將部署至 --prefix 指定的目錄中。
編寫一個簡單的測試程式(例如使用 Poco::Net::HTTPClientSession 發送 HTTP 請求),以 g++ -o test test.cpp -lPocoNet -lPocoFoundation -lPocoUtil 編譯連結,若能正常運行即表示安裝成功。
yum install openssl-devel 再重新配置。gmake: command not found:CentOS 7 預設安裝 GNU Make 為 make,若腳本呼叫 gmake,可 ln -s /usr/bin/make /usr/bin/gmake 或直接使用 make。make install 需 root 權限,或配合 --prefix=$HOME/.local 安裝至用戶目錄。