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

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

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

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

g++

g++はGNUコンパイラコレクション(gcc)のC++コンパイラーです。

GCC

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

Q&A

解決済

1回答

1762閲覧

OSX terminalでのmakeについて:やねうら王のインストールができない(コンピュータ将棋)。

nono33

総合スコア17

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

g++

g++はGNUコンパイラコレクション(gcc)のC++コンパイラーです。

GCC

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

0グッド

0クリップ

投稿2020/06/19 12:43

編集2020/06/21 00:56

Mac OSで将棋ソフトを導入したいです。

MacOS に elmo + やねうら王 + 将棋ぶらうざQ をインストールしてみます

上記サイトに沿って、インストールを進めました。
しかし、

terminal

1make

で下記のエラーが出てしまいます。

terminal

1(anonymous namespace)::Skill::pick_best(unsigned long) [clone .isra.0] in yaneuraou-search.o 2ld: symbol(s) not found for architecture x86_64 3collect2: error: ld returned 1 exit status 4make: *** [YaneuraOu-by-gcc] Error 1

設定に関しては記載通りできています。
makeのメッセージは多量なのでどこを見れば良いのかも不明です。
ヒントをお教え下さい。

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

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

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

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

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

guest

回答1

0

ベストアンサー

参考にされているサイトとそのサイトが参考にしているサイトを拝見しました。実際にやってみましたが、エラーは出ませんでした。

恐らくですがシンボリックリンクを間違えて設定されているのではないでしょうか。
参考にされているサイトを見る限り、homebrewでgcc、g++をインストールされていると仮定します。(違いましたら下記コマンドは適切なものに変更してください。)
unlink /usr/local/bin/g++で一度シンボリックリンクを解除し、
再度ln -s /usr/local/bin/g++-9 /usr/local/bin/g++でシンボリックリンクを設定

symbol(s) not found for architecture x86_64の原因は色々考えられますが、今回の場合はC++のライブラリのリンクかなと思います。
g++でコンパイルする際はデフォルトでライブラリにリンクしてくれるのですが、gccではオプションになっておりデフォルトではリンクしてくれません。
ln -s /usr/local/bin/gcc-9 /usr/local/bin/g++のようにgccのシンボリックリンクをg++として設定されているのだと思います。
Makefileでg++を指定していても上記のようにシンボリックリンクが間違っていたらgccがコンパイラとして使われてしまいます。
設定がめんどくさいなどの理由でgccのままでいいという場合は、Makefileの56行目のLDFLAGS = の右辺に-lstdc++と入力してください。ライブラリの指定です。

長々とすみません。あくまでも提示されている情報からの推測ですので、的外れな回答でしたらすみません。

投稿2020/06/25 20:34

sakodai

総合スコア15

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

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

nono33

2020/06/25 22:39

ありがとうございます! ご指摘の通りでした。 symbol(s) not found for architecture x86_64 このエラー表示でそう判断されたのですね。勉強になりました。 AI将棋も無事導入できました! ありがとうございます。
nono33

2020/07/14 00:24

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問