error: ld returned 1 exit status

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
あやごん
記事: 2
登録日時: 1年前

error: ld returned 1 exit status

#1

投稿記事 by あやごん » 1年前

私は競プロのためにc++を使っています。コンパイラを最新バージョンにしようとして、g++-12を使えるようにしていました。
g++-12 -o filename.exe filename.c++
という構文でこのソースコードをコンパイラしました。

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
#define rep( i, l, r ) for(int i = ( l ); i < ( r ); i++ )
using P = pair<int, int>;

long long L;
vector<pair<long long, P > > events;
vector<int> n( 2 );
int main() {
cin >> L >> n[ 0 ] >> n[ 1 ];

rep( i, 0, 2 ) {
long long t = 0;
rep( j, 0, n[ i ] ) {
int v; long long l;
cin >> v >> l;
events.emplace_back( t, P( i, v ) );
t += 1;
}
}sort( events.begin(), events.end() );
events.emplace_back( L, P( 0, 0 ) );

vector<int> val( 2 );
long long pt = 0;
long long ans = 0;
for ( auto[ t, p ] : events ) {
if ( val[ 0 ] == val[ 1 ] ) ans += t - pt;
auto[ i, v ] = p;
val[ i ] = v;
pt = t;
}
cout << ans << endl;
}

結果:
ld: unsupported tapi file type '!tapi-tbd' in YAML file '/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/usr/lib/libSystem.tbd' for architecture arm64
collect2: error: ld returned 1 exit status

この解決方法を教えて欲しいです。
リンカーの問題というのは調べていてわかりました。しかし、このようなバックグラウンドの知識が乏しいためどうすれば良いかわかりません。

環境:mac
コンパイラ:g++

よろしくお願いします。

アバター
あたっしゅ
記事: 664
登録日時: 13年前
住所: 東京23区
連絡を取る:

Re: error: ld returned 1 exit status

#2

投稿記事 by あたっしゅ » 1年前

東上☆海美☆「

『ld returned 1 exit status 和訳』で検索すれば、いっぱい出て来る。
リンカーは、1 という終了値を返した == 一つ、エラーがあった、という意味だ。


> ld: unsupported tapi file type '!tapi-tbd' in YAML file '/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/usr/lib/libSystem.tbd' for architecture arm64

こっちがエラーメッセージの本体。


> 環境:mac
> コンパイラ:g++

mac なら、Intel x64(arm64) か Apple Silicon(M1, M2...) か、書かんかい。

なんとなく、Apple Silicon(M1, M2...) 用にコンパイルしたのに、
Intel x64(arm64) 用のライブラリをリンクさせようとして、
エラーが一つ、発生している気がする。

ワシの MacBookAir M1 は、Asahi Linux を入れたせいで、ディスクがいっぱいで、
OS のアップデートに、支障をきたした。
よって、g++ を入れる余裕がない。

Winddows 11 Inside Preview の VidualStudio2022 でビルドしようとしたら、

> for (auto [t, p] : events) {

> auto [i, v] = p;

が、通らなかった。


p.s. X68000Z、来た。
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。

中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。

アバター
あたっしゅ
記事: 664
登録日時: 13年前
住所: 東京23区
連絡を取る:

Re: error: ld returned 1 exit status

#3

投稿記事 by あたっしゅ » 1年前

東上☆海美☆「
とりあえず MacBookAir M1 の Xcode に突っ込んでみたところ、ノーエラーで、ビルドできたみたいです。
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。

中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。

あやごん
記事: 2
登録日時: 1年前

Re: error: ld returned 1 exit status

#4

投稿記事 by あやごん » 1年前

ご指摘ありがとうございます
追記:
macのApple M1 Pro

アバター
あたっしゅ
記事: 664
登録日時: 13年前
住所: 東京23区
連絡を取る:

xCODE

#5

投稿記事 by あたっしゅ » 1年前

[香車]東上☆あらし☆海美「
サブ PC(Windows10 Insider Preview) の WSL に g++ をインストールして、ビルドしてみた。


$ g++ VsCppConsole2022R04-09-22.cpp


VsCppConsole2022R04-09-22.cpp: In function ‘int main()’:
VsCppConsole2022R04-09-22.cpp:39:12: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’
39 | for (auto [t, p] : events) {
| ^
VsCppConsole2022R04-09-22.cpp:41:8: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’
41 | auto [i, v] = p;
| ^


$ g++ -std=c++17 VsCppConsole2022R04-09-22.cpp
$ ./a.out
1
2
3
^Z
[1]+ Stopped ./a.out

途中で止めました。

で、

#1> 環境:mac
#1> コンパイラ:g++
#4>macのApple M1 Pro

とのことですが、今の Xcode は、g++ でなく、LLVM なので、
わざわざ Xcode を使わずに、g++ を入れた、ということでよろしいですか ?
homebrew とか、使いましたか ?
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。

中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。

返信

“C言語何でも質問掲示板” へ戻る