質問: ![terminal screenshots](https://i.stack.imgur.com/BDi0f.jpg) Mac OSXでSimPipe環境下でテストプログラムhello.cを動かそうとしたら以下のような問題にぶつかりました。 ``` ./SimPipe SimMips/test/qsort ``` と入力すると確かにそーとが実行されたにもかかわらずworkspaceのhello.cをテストしようと ``` mipsel-linux-gnu-gcc -static hello.c -o hello -bash:mipsel-linux-gnu-gcc command not found ./SimPipe-0.1.4/SimPipe hello ## ERROR: Can't open file. (hello) ``` とerrorが出てしまいました。 なぜhello, worldが出力されないのか、わかりません。 上記のエラーが出たため、gccを現ディレクトリ内にinstallしようとしたら多分デフォルトで Library/Developer/CommandLineTools/usr/bin にインストール済みで、gccとコマンドを打っても ``` clang:error: no input files ``` と出てしまいます。 workspaceと$の間には自分のusernameが入ってます。 またダウンロードしたコンパイル済みのクロスコンパイラのPATHをbash_profileに ``` export PATH=$PATH:/Users/username/Downloads/cross_compilier/bin ``` と通しました。(これが通ってなさそう) /bin/mipsel-linux-gnn-gcuがあるのですがどこが一体、、
回答: `clang:error:no input files` は正常です(コンパイルすべきソースファイルを指定していないときの挙動である)。今からクロスコンパイラを生成しようとしているのだから `mipsel-linux-gnu-gcc command not found` は(まだ生成していないので)あたりまえです。だから、なにが疑問なのか微妙にわかりません。 やりたいことが gcc-x.y.z のクロスコンパイラを MacOS 付属の `clang` で生成したい、のであれば手順書は GCC の webpage に解説があるのでそれに従うだけです。 クロスコンパイラ生成に特化した記事ならたとえば 日本語の記事もいっぱいあるでしょうが省略(自分で検索してください) ものごっつ手抜きの説明をすると 1. binutils ソースを入手し `./configure --target=mipsel-linux-gnu; make` でクロスアセンブラを作る 2. gcc ソース一式を入手し `./configure --target=mipsel-linux-gnu --enable-languages=c,c++; make` してクロスコンパイラを作る 3. 必要があればクロス先マシン用のライブラリを作る 4. システム標準コンパイラを壊さないようにインストールする 5. 標準 `PATH` 外にインストールしたのなら `PATH` を通す 以上は当初質問に対する回答のつもり。質問が編集されて内容が完全に変更されているので下記追記 `~/.bash_profile` を修正しただけだと既に起動しているシェルの環境変数は変更されません。ログアウト→ログインしなおすか `$ source ~/.bash_profile` のように再読み込みするかが必要です。もしかしたら `$ hash -r` としてコマンドハッシュをクリアする必要があるかもしれません。 ダウンロードした「クロスコンパイラパッケージ」にクロスアセンブラも入っているかどうかは要確認っす。