Libgo 使用靜態(tài)連接編譯 運行在比較老的linux機器上方法

1.libgo介紹

詳解 https://github.com/yyzybb537/libgo

2.Boost靜態(tài)編譯

  • 在編譯的centos上安裝安裝c和c++的靜態(tài)庫
    yum install glibc-static libstdc++-static -y

  • 下載boost_1_59_0

  • 執(zhí)行bootstrap.sh

  • 先動態(tài)編譯
    ./b2 --without-python && ./b2 --without-python install

  • 靜態(tài)編譯連接
    ./b2 --without-python runtime-link=static link=static

  • 安裝boost靜態(tài)路
    ./b2 --without-python runtime-link=static link=static install

3.靜態(tài)編譯libgo

  • libgo所依賴的boost必須先按靜態(tài)庫方式編譯然后再編譯libgo
  • 編譯
$cmake .. -DENABLE_BOOST_CONTEXT=ON
$ mkdir build
$ cd build
$ cmake ..
$ sudo make install

4.使用libgo,編寫c++程序

  • 在cmake項目在CMakeLists.txt 添加靜態(tài)連接參數(shù)
    set(CMAKE_CXX_FLAGS "-std=c++11 -Wall -static -static-libgcc -static-libstdc++")
    通過靜態(tài)連接,編譯出來的可執(zhí)行文件,可以在比較老的centos 版本上執(zhí)行,部署方便。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容