【WSL2】【Ubuntsu】C言語のコンパイルはgcc、C++言語のコンパイルはg++は

 初歩的なんだろうけど、ものすごく失敗したのでメモ

ソケットプログラムをC言語レベルでも調査するため、WSL2の整備をした。1

まずはインストール ちょっとダブっているかも

sudo apt update
 sudo apt upgrade -y
 sudo apt install build-essential -y
 sudo apt install gdb
 sudo apt-get install -y make build-essential llvm libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libncurses5-dev libncursesw5-dev net-tools wget curl
 sudo apt install -y language-pack-ja-base language-pack-ja

さて、では以下のサンプルコードとしてを作成しいざコンパイル

#include <iostream>


int main ( void ) {
            return 0;
}

いつものgccだ、あれこんな風にコンパイルできない! なぜだ??

$ gcc test.cpp
/usr/bin/ld: /tmp/cclY8l7J.o: in function __static_initialization_and_destruction_0(int, int)': test22.cpp:(.text+0x38): undefined reference tostd::ios_base::Init::Init()'
/usr/bin/ld: test22.cpp:(.text+0x4d): undefined reference to `std::ios_base::Init::~Init()'
collect2: error: ld returned 1 exit status

正しくは!

$ g++ test.cpp

これだけのことだったのか。まだまだ力不足、お恥ずかしい。。

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました