プロが教える店舗&オフィスのセキュリティ対策術

gccをターミナルから入力するとうまくいくのですが、makefileだとうまくいきません。
$ gcc -c main.cpp  <-これはうまくいく
何が原因でしょうか。

main.cpp
#include <iostream>
int main()
{
std::cout << "aaa" << std::endl;
}


makefile
myprogram: main.o
gcc -o myprogram main.o
main.o: main.cpp
gcc -c main.cpp

エラー内容
$ make
gcc -c main.cpp
gcc -o myprogram main.o
/usr/bin/ld: main.o: in function `main':
main.cpp:(.text+0xe): undefined reference to `std::cout'

A 回答 (1件)

> undefined reference to `std::cout'



std::coutが定義されていないのに参照されてます、ってな事なんで、C++言語用のファイルとして認識されてない、って事じゃないですかね。
多分、コマンド名がgccじゃなくってg++だったんじゃないかなぁ。
まあ、C++使わんので知りませんが。
    • good
    • 0
この回答へのお礼

g++にしたらビルドできました!

お礼日時:2020/12/19 15:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!