継続的ビルド:C ++コンパイラー環境のコンテナ

gccの公式ミラー

画像は、GCCのC ++コードをコンパイルする機能を持っているように、有効-言語C ++の設定オプションを設定することにより、以下のドッカーハブに提供gccのドッカー公式ミラー。

ここに画像を挿入説明

9.2.0バージョンの最新バージョンを取得するために、ドッキングウィンドウのpullコマンドを使用します

[ルート@のhost132〜]#]ドッキングウィンドウプルGCC:9.2.0
9.2.0:ライブラリ/ gccのから引っ張る
4a56a430b2ba:完全なプル
4b5cacb629f5を:完全なプル
14408c8d4f9aを:完全なプル
ea67eaa7dd42を:完全なプル
4d134ac3fe4bを:完全なプル
dbc65b875791を:完全なプル
53308bd32679を:プル完全
da5ff526afd1:完全なプル
7704e65e7dabを:完全なプル
ダイジェスト:SHA256:c0f4919207ad6d73dad9f98e532f1cb224159e9c7d0a257665564526ae85bf7f
ステータス:gccのためのダウンロード新しいイメージ:9.2.0
[ルート@ host132〜]#]ドッキングウィンドウの画像|グレップのGCCの
201020b8c956 13時間前のgcc 9.2.0 1.14ギガバイトを
[ルート@ host132〜]#

gccのバージョン確認

コンパイラG ++特定の実施例で構築のバージョンを確認し、G ++ -v使用以下に示します

[ルート@ host132 G ++]#ドッキングウィンドウ--rm -it gccを実行します:9.2.0 G ++ -vを
内蔵のスペックを使用。
COLLECT_GCC = G ++
COLLECT_LTO_WRAPPER =は/ usr / local / libexecに/ GCC / x86_64の-のlinux-gnuの/ 9.2.0 / LTO-ラッパー
対象:x86_64版-のlinux-gnuの
で構成:は/ usr / src / GCC /設定--build = x86_64版-linux-gnuの--disable-multilibの--enable-言語= C、C ++、FORTRAN、行く
スレッドモデル:POSIXの
gccのバージョン9.2.0(GCC)
#[host132 G ++ @ルート]

支度をしています

準備次のC ++のデモ・コードがでコンパイルされています

[ルート@ host132 G ++]#猫のデモ/ SRC / main.cの
書式#include <iostreamの>
名前空間stdを使用。
int型のmain()
{
    coutの<< "こんにちはliumiaocn" <<てendl;
    0を返します。
}

[ルート@ host132 G ++]#

&リンクを構築するために、G ++を使用して、

直接実行可能ファイルを生成するステップ、簡単なデモのために、ここで、C ++コンパイラでコンパイルし、リンクも2つの段階に分けています。次のようにコマンドの実装の具体例としては、次のとおりです。

[ルート@ host132 G ++]#が実行ドッカー--rm -v $(PWD)/デモ/ SRC /:/デモ/ srcに-it GCC:9.2.0 G ++ -o /デモ/ SRC /デモ/デモ/ srcに/メイン.C
#[host132 G ++ @ルート]

結果はコンパイルするファイルを確認し、リンクが生成さ:

[ルート@ host132 G ++]#LSのデモ/ SRC /デモ
デモ/ SRC /デモ
[ルート@ host132 G ++]#ファイルデモ/ SRC /デモ
デモ/ SRC /デモ:ELF 64ビットLSB実行、x86-64で、バージョン1 (SYSV)、動的にリンクされたが取り除かない、GNU / Linuxの3.2.0のために、(共有ライブラリを使用しています)
#[host132 G ++ @ルート]を

結果は確認します

実行ファイルの生成に、結果が出力コンテナの方法によって確認することができ
ます。[root host132 G ++ @]#はドッキングウィンドウで実行--rm -v $(PWD)/デモ/ SRC /:/デモ/ srcに-it GCC:9.2。 0 /デモ/ SRC /デモ
こんにちはliumiaocn
[host132ルートG @ ++]#

#は./demo/src/demo [host132 G ++ @ルート]
こんにちはliumiaocn
#[host132 G ++ @ルート]は、

概要

この記事では、プロジェクトもう少し複雑で任意の実用的な意義を持っていない、ただ非常に単純な例であり、より重要なのは継続的インテグレーションにおける言語プロジェクト++ Cを組み合わせるの練習のMakefileの管理と指導に依存しているありますコンテンツは、注意を集中する必要があります。

参照コンテンツ
https://hub.docker.com/_/gcc

おすすめ

転載: www.linuxidc.com/Linux/2019-09/160736.htm