• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:macportsなどに詳しい方へ質問です)

Macportsに詳しい方への質問:elmoを使ってコンピュータ将棋をするためのエラー対策

このQ&Aのポイント
  • Macportsに詳しい方への質問です。elmoを使ってコンピュータ将棋をしたいのですが、make avx2コマンド実行時に「fatal error: 'cstdint'」というエラーが出ます。対策にはコンパイラ変更が必要なようですが、makefileのどの部分を変更すれば良いか分かりません。
  • 初心者の私には赤色と緑色の部分の意味が分からず、該当箇所のコピペ変更でもエラーが出てしまいます。elmoを使ったコンピュータ将棋の実行について、コンパイラの変更方法やエラーの対処方法に詳しい方の助言をお願いします。
  • また、elmoのダウンロードやmake avx2コマンドの実行など、手順や注意点についてもアドバイスがあれば嬉しいです。初心者でも理解しやすい説明をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • trapezium
  • ベストアンサー率62% (276/442)
回答No.1

> とすると、fatal error: 'cstdint'  と出ます。 clang が古いのかもしれません。MacOS ではありませんが最新の LLVM/clang ならコンパイルできましたよ。 > URLのページには赤色と緑色の部分があると思いますが、これが一体なにを意味しているのかがわからず、先にすすめません。ここをどう改変すればいいのでしょうか? 行頭に - 記号(赤字)があるのが変更前で、+ (緑)が変更後の行です。diff コマンドの -u オプションと同じ。要は clang の行をコメントアウト (行頭に#挿入) して、gcc を有効 (#削除) にしてる > $git diff以下の文章もmakefileの中にないので、混乱しています。そのまま該当箇所をコピペで変更しても、エラーが出ました。 そりゃあたりまえ。最終的に残すのは緑字の方、当然行頭の + は不要。

shitumon631
質問者

お礼

ありがとうございます。最新のclangというのがよくわからないので、そちらを追加で質問します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • コンパイルできない

    http://www.cs.bme.hu/~bodon/en/apriori/ ↑のサイトのソースをダウンロードしてコンパイルしようとしているのですが、 コンパイルできません。 どのように書き換えたらよいでしょうか? 実行環境 Cygwin gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) エラー内容 $ make MAKE Version 5.2 Copyright (c) 1987, 2000 Borland Error makefile 11: Command syntax error Error makefile 14: Command syntax error Error makefile 16: Command syntax error Error makefile 18: Command syntax error *** 4 errors during make ***

  • 複数のサブディレクトリを一緒にmakeして一つの実行ファイルを作成するには

    いま、Linuxの環境でC言語の勉強しています。 それで、makeを使ってコンパイル方法を調べているのですが、 ソースディレクトリとヘッダーディレクトリを分けて管理している場合に一緒にコンパイルさせる為のMakefileの書き方が分からず困っています。 現在は、同じディレクトリ内にソースファイルとヘッダーファイルが存在してます。ちなみに下記が今のMakefile内容です。 ご存知の方が記述方法もしくは参考サイトを教えて頂けますでしょうか。よろしくお願い致します。 ======================================================== program = test_pro objs = main.o test1.o test2.o CC = gcc CFLAGS = -g -Wall #suffixes_define_rule .SUFFIXES : .c .o $(program) : $(objs) $(CC) $(CFLAGS) -o $@ $^ #suffixes_rule .c.o : $(CC) $(CFLAGS) -c $< .PHONY : clean clean : $(RM) $(objs) #header_depend test1.o : test1.h test2.o : test2.h =====================================================

  • -converオプション big_endian

    ifcコンパイラのバージョン7.0を使用して、既存の数値モデルをMakefileでコンパイルする際に、Makefile中の-convertオプションというところがデフォルトの"big_endian"ではコンパイル自体ができないため、アンダーバーをとって"big endian"と変えたのですが、今度はバイナリファイルを読み込む際にエラーが出ているようなのですが、よくわかりません。この変更自体には問題はないのでしょうか。どなたか詳しい方よろしくお願いします。

  • LinuxC++ファイルWindowsでのmake

    GPLで、makefile,configure,configure.inなどのある linux用のC++ソースファイル(一部perlあり)を minGWでコンパイルしようとすると perlの方でエラーが出ます。 lang,LC_ALLなどがおかしいと出てきますが どうしたらいいのでしょうか。 Visual C++ Express Editionでは、 nmakeを使おうとすると区切り記号が ないというエラーがでます。 強引にGUI(IDE)上でコンパイルしよう とすると、includeファイルがないと いうエラーが出ます。

  • libjpeg.libの作り方 c++/cli

    お世話になります jpegsr9a.zipをダウンロードして ↓のサイトを参考にlibjpeg.libを作ろうとしたのですが http://oshiro.bpe.es.osaka-u.ac.jp/people/staff/imura/products/JpegFileIO 6のライブラリを作成方法が理解できませんでした 1.CLIなのでこの二つでよろしいでしょうか ■ マルチスレッド DLL: /Ox /Ob2 /Oi /Ot /Oy /arch:SSE2 /MD ■ マルチスレッド デバッグ DLL: /MDd ※ VCのプロジェクトのプロパティ、コード生成では MDとMDdを指定してます 2.15行目の変更方法は? オリジナル CFLAGS= $(cflags) $(cdebug) $(cvars) -I. これにオプションを追加する記載はこの様に2行になると、2行目しか認識されませんよね? どの様に記載するのか教えていただけないでしょうか? CFLAGS= $(cflags) $(cdebug) $(cvars) -I. DLL: /Ox /Ob2 /Oi /Ot /Oy /arch:SSE2 /MD CFLAGS= $(cflags) $(cdebug) $(cvars) -I. DLL: /MDd 3.「release用の場合は nodebug=1 オプションを末尾に付ける」とは以下の様にするのでしょうか? nmake -f makefile.vc clean nmake -f makefile.vc nodebug=1 ※release用を別メイクするのなら、2.のオプションはデバッグとリリースで別々に作成して実行するのでしょうか?

  • Visual Studio のコンパイラがアプリケーションエラー

    Visual Studio 2005 Professional Edition(Visual Basic 2005)を使っています。 プログラム作成中にコンパイラ(エラー一覧に、文法エラー等を表示するやつです)がアプリケーションエラーで当然のように頻繁に落ちます。 ※エラー内容「問題が発生したため、Microsoft Visual Basic Compilerを終了します。ご不便をおかけ・・・」「・・Visual Basicコンパイラを回復できません。システムエラー・・・」 コンパイラが落ちないように、 この自動コンパイル(自動コードチェック)をしないようにVisual Studioを設定する方法をご存知の方、教えて頂けませんでしょうか。 ※いろいろ調べてみたのですがわかりませんでした。

  • macportsなどに詳しい方へ質問です

    https://okwave.jp/qa/q9364404.html この質問について、最新のclangならコンパイルできた、とありますが、その方法がよくわかりません。新しいコンパイラーをインストールする必要があるのでしょうか。

  • Objective-cで@"Foo"が使えない

    http://okwave.jp/qa/q6406418.htmlでNSLogが使えないと質問したものです。 結局NSLog(@"Foo")のうち@部分に問題があったので、質問を改めさせていただきました。 Ubuntu10.04+clang+gnustep環境で、@を使ってNSStringインスタンスを生成しようとすると エラーになります。 例:NSString *str = @"Foo"; // <- error! 例:NSLog(@"Foo"); // <- error! コンパイルではエラーが出ず、実行時にエラーになります。 $ clang -lobjc -lgnustep-base -I/usr/include/GNUstep -I/usr/lib/gcc/i486-linux-gnu/4.4/include -g -Wall oshiete.m -o oshiete $ ./oshiete Segmentation fault ちなみにコンパイラをgccに変更すると、コンパイルエラーになります。 $ gcc -lobjc -lgnustep-base -I/usr/include/GNUstep -I/usr/lib/gcc/i486-linux-gnu/4.4/include -g -Wall oshiete.m -o oshiete oshiete.m: In function ‘main’: oshiete.m:5: error: cannot find interface declaration for ‘NXConstantString’ @によってNSStringが作成されるのは、どのような環境が揃ったときなのでしょうか? 何か満たしていないものがあると思うのですが。 でも、これってObjective-c1.0の言語仕様ですよね? ほかの方のブログなど見てると使えるようなのですが、自分が使えない理由を 調べる方法が分からず困っています。 何かヒントを教えていただけないでしょうか。 よろしくお願いいたします。 (上記のgccコンパイルエラーは参考までに載せました。clangでの解決を目指したいです)

  • Fortran90/Fortran95→Fortran77

    大学の授業でFortranを使ったプログラミングを勉強しています。 以下の文が大学のPCに入っているコンパイラでは問題なくコンパイルでき実行できるのですが、家のPCだとコンパイルすることが出来ません(以下の文でエラーが出ます) 大学のPCの開発環境はFujitsu-FORTRANだと思います(^ ^; 家のPCはSalford FTN77 Personal Edition CompilerとCPad for Salford FTN77を組み合わせて使用しています なぜエラーがでるのか自分なりに考えた結果、Fortran90/Fortran95のプログラムをFortran77のコンパイラでコンパイルしているからだと思います(全くの勘違いだったら指摘して下さい) Fortran90/Fortran95の開発環境がフリーで整えばいいのですが、見つからないのでプログラムを修正したいと思います そこで、力を貸していただきたいのです 前置きが長くなりましたが、エラーが出る文は以下のところです open(8,file='freq_ex13.dat',action='write',status='replace') ここを、Fortran77のコンパイラでコンパイルできるようにアドバイスを下さい よろしくお願いします

  • 移植性の高いmakefileの作成

    移植性の高いmakefileの作成 C言語で書かれたソースファイルをmakeツールでビルドしています。 もともとコンパイラとして「Borland C++ Compiler 5.5.1」を使用し、Borland C++ 同ツール付属のmakeツール「MAKE Version 5.2」を使用していました。 makeの基本文法は理解しており、Borlandのコンパイラを使用している間は特に問題ありませんでした。 しかし最近、新たにGCC系列のMinGWという開発環境一式と、補助ツールMSYSを導入し、既存のmakefileをGCCおよびGNUmakeに対応させることにしました。 具体的には、 GMAKEを起動した場合はgccでコンパイルする。 Borland make を起動した場合にはbcc32でコンパイルする。 という切り替えを同一のmakefileで行おうと考えました。 しかし、ここで問題が発生しました。 makeの依存関係部分はborland付属make(以下Bmakeとします)とGNUmakeであまり違いはないのですが、単一のmakefileで対応しようとすると、どうしてもコンパイラオプションやコンパイルコマンドを切り替える部分が必要です。しかし、ifdefやincludeディレクティブに関してはお互いにまったく互換性がなく、片方のmakeで有効なフラグをつかってifdefで分岐しようとしても、もう片方では完全に文法エラーです。 例えば、ifdefやincludeディレクティブは、Bmakeでは先頭に!が必要ですが、GNUmakeには必要ありません。 以下の書籍でポータブルなmakefileの記述に関していろいろ調べたのですが、Bmakeの特殊な文法についての言及がなく、対応策が見つかりません。 様々な環境でビルドされるFireFox3.0のソースコードも参考にしようとmakefileと思われるファイルを全て検索したところ、1769個ほど見つかりました。 その中で!ifdefディレクティブを使用しているのは極わずかで、Makefile.winという名称のものがいくつかあっただけでした。 しかもそれらは最後の方にincludeディレクティブも使っていました。 例えば、MozillaFirefox3.0のソースコードにあるmakefaileの内、firefox-3.0-source.tar\mozilla\dbm\src\Makefile.winは「include <$(DEPTH)/config/rules.mak>等」、という一文がある一方、その他のifなどのディレクティブは頭に!をつけられており、全体としてはBmake(多分ターゲットはMSVC++だと思いますが。)です。 これはBmakeではエラーになるはずなのですが、動作機構は不明です。 また、条件付マクロというテクニックで、ある値が定義されていれば左値を、定義されてなければ右値を使ってマクロ置換するテクニックがあったので、これでディレクティブをマクロ置換してやろうと考えました。しかし、ディレクティブをマクロ定義することはできないようでこれも失敗しています。 #INCLUDE というマクロを定義して、 INCLUDE = $(_GNUMAKE_?include:!include) #マクロをディレクティブ命令として使う $(INCLUDE) testmake.mk それぞれのmake専用makefileを作るのは簡単ですが、新しいプログラムを追加するたびに複数のmakefileを書き直すのは避けたいのです。 長々と書きましたが、解決策として次の2つのいずれかのようなものがあれば教えていただきたいです。 1. ifやincludeディレクティブに代わる、GNUmakeとBmake両方に使えるテクニック。 2. 起動したmakeによって条件分岐、もしくは読み込むファイルを切り替えるテクニック。 よろしくお願いいたします。 開発環境 OS: winXP コンパイラ: 「Borland C++ Builder 6.0」「Borland C++ Compiler 5.5.1」「gcc version 3.4.5 (mingw special)」 make: 「MAKE Version 5.2 (C++ BuilderとC++ Compiler 5.5.1はおなじmakeを使用している模様)」「GNU Make version 3.79.1」 参考文献 1. 「GNU Make 第3版」オライリージャパン、2005年 2. 「C言語逆引き大辞典」秀和システム、2003年 3. 「GNUソフトウェアプログラミング」、?年