Docker搭建Linux C++以及boost庫開發(fā)環(huán)境
博客地址: llfc.club
筆記地址:? ?https://gitbookcpp.llfc.club/
簡介
本文介紹如何使用Docker搭建Linux環(huán)境下C++的開發(fā)環(huán)境。眾所周知C++的開發(fā)環(huán)境分為Windows和Linux兩種,在windows配置C++開發(fā)環(huán)境并實現(xiàn)了Asio服務(wù)器的開發(fā),我們也做過QT的配置和使用,前面的教程已經(jīng)很完善了,接下來介紹如何在Linux系統(tǒng)部署C++開發(fā)環(huán)境。
宿主機和Docker
對于Linux系統(tǒng),選擇性很多包括Centos, Redhat, Ubuntu等,大家可以選擇在宿主機上直接安裝Linux某個版本的系統(tǒng),也可選擇Docker環(huán)境部署C++開發(fā)環(huán)境。 選擇Docker的好處如下: 1 可移植性好,不會因為宿主機的差異導(dǎo)致程序移植后無法運行 2 Docker安裝的庫不會影響宿主機環(huán)境,也不會被宿主機環(huán)境影響,程序運行環(huán)境純凈。 3 共享性好,可以將配置好的容器打包成鏡像提交到Docker Hub或者壓縮成壓縮包供他人使用,提升開發(fā)效率。 為了方便給大家演示并提供給大家一個可移植的環(huán)境,我選擇用Docker配置C++開發(fā)環(huán)境。
Docker安裝
根據(jù)不同的Linux系統(tǒng)可以選擇不同的方式安裝,我的是Ubuntu系統(tǒng),所以簡單列舉下我的安裝步驟 1 更新系統(tǒng)軟件包列表: 執(zhí)行以下命令以確保您的軟件包列表是最新的:
2 安裝依賴項以允許使用 HTTPS 通過 APT 獲取 Docker: 執(zhí)行以下命令安裝所需的軟件包:
3 添加 Docker GPG 密鑰: 執(zhí)行以下命令以添加 Docker 的官方 GPG 密鑰:
4 添加 Docker APT 軟件倉庫: 執(zhí)行以下命令以將 Docker APT 軟件倉庫添加到系統(tǒng)中
5 更新軟件包列表并安裝 Docker: 執(zhí)行以下命令以更新軟件包列表,并安裝 Docker CE:
6 驗證 Docker 安裝是否成功: 執(zhí)行以下命令以驗證 Docker 是否已成功安裝:
如果一切正常,您將看到一個歡迎消息,表示 Docker 已成功安裝并正在運行
搭建C++環(huán)境
我們基于ubuntu系統(tǒng)的鏡像搭建容器,當(dāng)然你也可以選擇其他的系統(tǒng)如centos等,如果小伙伴不喜歡用Docker,可以直接在宿主機操作。
1 啟動ubuntu:18.04容器
2 容器內(nèi)更新源,這樣能安裝最新的軟件包
3 容器內(nèi)安裝gcc/g++工具包
4 容器內(nèi)測試g++版本和命令
輸出201703L即證明支持C++17
5 容器內(nèi)安裝wget
6 容器內(nèi)安裝boost
6.1 獲取源碼包
獲取速度較慢,我用windows下載好后用filezilla傳遞到云服務(wù)上,再從云服務(wù)上執(zhí)行拷貝操作放入docker
6.2 下載boost需要的庫
6.3 解壓縮并安裝
6.4 編碼測試
寫如下代碼
編譯運行
執(zhí)行./boosthello
?輸出
7 容器內(nèi)安裝git
8 拉取項目代碼
9 配置git
可以驗證一下
10 下載cmake
安裝必要的ssl庫
解壓縮
設(shè)置引導(dǎo)程序
編譯
安裝
測試安裝情況
11 編寫CMakeLists.txt, 在AsyncServer外層目錄
新建目錄build, 進入build目錄,執(zhí)行cmake ..
?生成makefile文件。
在該文件夾執(zhí)行make 生成可執(zhí)行文件AsyncServer, 測試可運行。
12 打包容器生成鏡像
將鏡像壓縮成tar
傳輸?shù)桨俣染W(wǎng)盤,大家可以直接使用我的開發(fā)環(huán)境了。
鏈接:?https://pan.baidu.com/s/1xHP5pSRjFZFiV5qRpgw0KQ?pwd=y468
提取碼: y468
總結(jié)
本文總結(jié)了如何使用Docker搭建Linux C++開發(fā)環(huán)境,讀者也可以根據(jù)文檔提供的步驟在宿主機直接搭建。