質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
GCC

GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

1284閲覧

Visual Stdio Code C++のコンパイルができません

mkn66

総合スコア41

GCC

GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2021/11/08 07:03

プログラミングを学んでまだ2,3週間のものです。
VScodeでC++のコードのデバックを実行したところ下記のエラーが出ました。

---------------------ターミナル
ビルドを開始しています...
/usr/bin/gcc -fdiagnostics-color=always -g /Users/kuriharaminoru/Desktop/c_language/c++_language1.cc -o /Users/kuriharaminoru/Desktop/c_language/c++_language1
Undefined symbols for architecture arm64:

中の文は必要ないと思ったので入れませんでした。必要なら載せます。

clang: error: linker command failed with exit code 1 (use -v to see invocation)

ビルドが完了しましたが、エラーが発生しました。

その後 launch.json を開く or キャンセルの画面が表示されました。

------------------launch.json
{
// IntelliSense を使用して利用可能な属性を学べます。
// 既存の属性の説明をホバーして表示します。
// 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "gcc - アクティブ ファイルのビルドとデバッグ",
"type": "lldb",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"preLaunchTask": "C/C++: gcc アクティブなファイルのビルド"
}
]
}


---------------tasks.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc アクティブなファイルのビルド",
"command": "/usr/bin/gcc",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "デバッガーによって生成されたタスク。"
}
],
"version": "2.0.0"
}


C言語ではなんの問題もありませんでした。

使用しているパソコンは
macOS Big Sur バージョン 11.6 Apple M1 です

あとコンパイラーをgccにしたいと思いターミナルで色々してみたのですが多分clangになってしまっています。
どうすればgccをclangより優先にできますか?
それともclangのままでもいいですか?

プログラミングを始めたばかりなのでわけわからないことを言っていたらすいません.
お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

episteme

2021/11/08 07:13

C++のコンパイルに gcc ですか? g++ じゃなくて?
mkn66

2021/11/08 07:22

C++はg++でコンパイルするのですね。 ありがとうございます。
guest

回答1

0

ベストアンサー

Undefined symbols for architecture arm64:

シンボルが未定義だ、といってます。
単なるコードのバグですな

投稿2021/11/08 07:07

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mkn66

2021/11/08 07:12

回答ありがとうございます。 下記のようなコードを書いたのですがどこがおかしいですか。 #include <iostream> using namespace std; int main() { cout << "Kitty on your lap"; return 0; }
y_waiwai

2021/11/08 07:16

エラーメッセージでもちっと詳しい情報が出るとは思うけど、メッセージの全文出せませんか
mkn66

2021/11/08 07:27

質問に答えてくれたとこと申し訳ないのですがg++をインストールしていなくて、おそらくgccでコンパイルしようとしていました。 一応エラーメッセイジの全文を載せておきます。 > Executing task: C/C++: gcc アクティブなファイルのビルド < ビルドを開始しています... /usr/bin/gcc -fdiagnostics-color=always -g /Users/Username/Desktop/c_language/c++_language1.cc -o /Users/Username/Desktop/c_language/c++_language1 Undefined symbols for architecture arm64: "std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from: std::__1::ctype<char> const& std::__1::use_facet<std::__1::ctype<char> >(std::__1::locale const&) in c++_language1-6ec325.o "std::__1::ios_base::getloc() const", referenced from: std::__1::basic_ios<char, std::__1::char_traits<char> >::widen(char) const in c++_language1-6ec325.o "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(unsigned long, char)", referenced from: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(unsigned long, char) in c++_language1-6ec325.o "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", referenced from: std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in c++_language1-6ec325.o "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from: std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in c++_language1-6ec325.o "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::~sentry()", referenced from: std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in c++_language1-6ec325.o "std::__1::cout", referenced from: _main in c++_language1-6ec325.o "std::__1::ctype<char>::id", referenced from: std::__1::ctype<char> const& std::__1::use_facet<std::__1::ctype<char> >(std::__1::locale const&) in c++_language1-6ec325.o "std::__1::locale::~locale()", referenced from: std::__1::basic_ios<char, std::__1::char_traits<char> >::widen(char) const in c++_language1-6ec325.o "std::__1::ios_base::__set_badbit_and_consider_rethrow()", referenced from: std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in c++_language1-6ec325.o "std::__1::ios_base::clear(unsigned int)", referenced from: std::__1::ios_base::setstate(unsigned int) in c++_language1-6ec325.o "std::terminate()", referenced from: ___clang_call_terminate in c++_language1-6ec325.o "___cxa_begin_catch", referenced from: std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in c++_language1-6ec325.o ___clang_call_terminate in c++_language1-6ec325.o "___cxa_call_unexpected", referenced from: std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >::failed() const in c++_language1-6ec325.o std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >::ostreambuf_iterator(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) in c++_language1-6ec325.o "___cxa_end_catch", referenced from: std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in c++_language1-6ec325.o "___gxx_personality_v0", referenced from: std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in c++_language1-6ec325.o std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in c++_language1-6ec325.o std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >::failed() const in c++_language1-6ec325.o std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >::ostreambuf_iterator(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) in c++_language1-6ec325.o std::__1::basic_ios<char, std::__1::char_traits<char> >::widen(char) const in c++_language1-6ec325.o Dwarf Exception Unwind Info (__eh_frame) in c++_language1-6ec325.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ビルドが完了しましたが、エラーが発生しました。 ターミナルはタスクで再利用されます、閉じるには任意のキーを押してください。
episteme

2021/11/08 07:59

C++ライブラリがリンクされてないので、C++コードをCコンパイラでコンパイル/リンクしてますね...
matukeso

2021/11/08 09:12

C++のばあい、コマンドはgccではなくg++でないとダメという話。gccそのままでもstdc++あたりとリンクすればOKという話もあるけど。
mkn66

2021/11/09 04:42

返信が遅くなってしまいすいません。 gccでコンパイルしていたのですね。 再度やってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問