• ベストアンサー

複数のソースファイルのコンパイルの仕方

とある人からいただいた,fortranの計算プログラムを使おうと思っております.ソースファイルが1個だけというのであれば,フリーのコンパイラを使って実行した経験があるのですが,今回譲り受けたものは,ソースファイルが複数あります(メインプログラムとサブルーチンプログラム数個). コンパイラはvisual fortranなのですが,マニュアル等がない状態です.どなたか,お教え願えませんでしょうか? よろしくお願いいたします.

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

  • ベストアンサー
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

makefile を作る というのが一般的なんだけど visualシリーズがどうなのかは良くわからない http://www.google.co.jp/search?hl=ja&q=visual+fortran+makefile%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja うまく検索できなかったけど 検索結果にオンラインマニュアルとかいう文字列が見えてる。。。

asa_hikawa
質問者

お礼

お返事ありがとうございました. 何とか,検索を重ねて解決することができました. ありがとうございました.

関連するQ&A

  • Fortran : 複数の.fファイルのコンパイル

    先輩からあるシミュレーションコードをもらったので、Cygwin上でコンパイラにgfortranを用いてプログラムを回したいのですが、複数の.fファイルと.hファイルが有りどうすればコンパイルできるのか解りません。gfortran ???←ここのコマンドがわかりません。 全くのド素人だと思ってください。 先輩にはVisual Fortranを用いているので解らないと言われてしまいました。 どなたかアドバイスお願いします。

  • VC++でソースファイルに2つのデータを作る場合。

    Microsoft Visual C++ 2008 Express Editionというコンパイラを使っています。 新しいプロジェクトを作成すると、ソースファイル、ヘッダーファイル、リソースファイルの3つのフォルダが作成されます。 ソースファイルのフォルダに.cppのプログラムを作成しています。 もう一つ別のプログラムを実行しようと思って、ソースファイルのフォルダにプログラムを追加して実行すると必ずエラーが出てしまいます。 エラーの内容は「1 つ以上の複数回定義されているシンボルが見つかりました。」のようです。 1つのソースファイルに2つ以上のプログラムは作れないのでしょうか?

  • Fortranのサブルーチン引数について

    他人が作ったFortran(恐らくFortran77)のプログラムで計算をしようとしています。 コンパイルはできるのですが,実行するとエラーが出てしまい困っています。 エラーメッセージは 「forrtl:severe(157):Program Exception - access violation」 となっていて,実行時エラー番号で調べると 「プログラムが適切な参照権を持っていない仮想アドレスに書き込み,または読み取り を行おうとした」と出ていました。 Fortran初心者の自分にはイマイチ意味が判らないのですが,エラーが出た後に サブルーチンのある決まった場所に黄色い矢印が示されます。 そこで今,その部分のサブルーチンを確認しているところです。 前置きが長くなってしまいましたが サブルーチンの中を確認している途中で疑問に思った所が一つあります。 問題のサブルーチンは --------------------------------------- call dbesl(EN,0,BX0,BY0,BI0,BK0)     subroutine dbesl(X,NOR,BX,BY,BI,BK) FN = NOR  ・  ・  ・ 11 NOR = FN               <---この行に黄色い矢印が出る return end --------------------------------------- となっているのですが,サブルーチンを呼び出すcall文の所で 2つ目の引数が『0』となっているのは正しい使い方なのでしょうか? どうもサブルーチン内の計算をしてメインプログラムに引数を返す所が おかしいような気がしています。 因みにメインプログラムに戻る際の"FN"の値は『0』となっていました。 コンパイラはCompaq Visual Fortranを使用しています。 足りない情報は出来るだけ追記していきますので,ご教示宜しくお願いします。

  • FORTRANとC++の連動について

    私は,Fortranを用いて解析の業務をしている,プログラム初心者です。 購入したのは,Intel Visual Fortran8.0(VF)ですが,Windows環境でコンパイルリンクするには,Microsoft Visual C++ .NET 2003(VC++)が必要ということで,こちらも購入しました。 普段は,Fortranのコンソールで ifort **.f といったコマンドでコンパイルリンクし,実行しているだけです。 これからは,VC++の方に移行していきたいと考えていますが,しばらくはFortranで作成したサブルーチンを有効活用したと考えています。 そこで,VC++ベースのメインプログラムからFortranのサブルーチンを呼び出すプログラムの作成方法,コンパイルリンク方法をご教授ください。よろしくお願いします。 (1)ソースにどう記述するか? void CMyDlg::OnBnClickedOk() { ここで,FORTRANのサブルーチンを呼び出したい。     Fortranなら call subroutine( a, b ) } (2)コンパイルするときは, Visual Studio開発環境で,コンパイル→実行で良いのか? それとも,あらかじめVC++とVFで.objファイルを作成する必要があるのか?

  • ABAQUS ユーザーサブルーチンの使用について

    ABAQUSで解析を行っております。 今回、FORTRANで記述したユーザーサブルーチンを使用することになりました。 ABAQUSサポートに問い合わせたところIntel FORTRANコンパイラのみ サポートしているとのことでしたが、今回のみの使用のため、フリー コンパイラもしくは、コンパイル済みのファイルを使用して解析が できないかと考えています。 Intelコンパイラを使用せずにユーザーサブルーチンを使用する方法 をご存知の方がおられましたら方法を教えていただけないでしょうか。 以上、よろしくお願いいたします。

  • Fortranのバージョンアップと古いソースコード

    Fortranは科学技術計算の古い資産が使えるということでまだ使われていると思います。 しかも、コンパイラ・リンカは製品としてバージョンアップしているわけですが、新しくなっても古いコードはコンパイル・リンク・実行できると思っていました。最近、intel fortranの更新をしたのですが、動作がかなり違ってきました。F77,F90,F95などの更新ではなく、intel社の製品としての最新版への更新です。コンパイル・リンクまでは行くのですが、実行させたとたん、ゼロ割のようなメッセージが出て、実行が打ち切られてしまいます。1時間ぐらい走るプログラムなのですが、1秒で打ち切りでした。必ずそうなるということではありません。特定のライブラリで生じます。そのライブラリは古い(言語としてはF77)ので当然ながら新しいコンパイラで動くなどと書いていません。ただソースコードの塊であり、古いコンパイラでは動いていたのです。古いと行っても2009年ぐらいに買ったintel visual fortran ver.11ぐらいのもので2016年のコンパイラと大幅な変更はないはずなのですが。例えば最新版(2016年2月時点)の方は並列関係の設定の方がデフォルトで並列計算しない設定をコンパイラオプションで指定しないとおかしくなるということでしょうか(たぶんGPUには対応していないと思いますが)。どっかに書いてあるかなと思案していますが。 何か心当たりがあればよろしくお願いします。

  • Fortranでのファイル名操作について

     Fortranを使っているものです。 プログラムで、ファイル名は文字列形式でしか付けれないと思いますが、そのファイル名をメインプログラムから何か値をもらって、それをサブルーチンでファイル名につけるということはできるのでしょうか?  例えば、iをメインプログラムで10~100まで10ずつ動かすとします。そのiの値をわかりやすくするためにファイル名に付けたいと思っていて、do文でサブルーチン中でまわしてファイル名に入れる・・・なんてことは可能でしょうか?

  • 他のexeファイルを実行する方法(Fortran)

    Fortran90で,実行中に他の実行ファイル*.exeを呼び出すことは できますでしょうか? メイン文でサブルーチンを call subroutine名() で呼び出す代わりに call 実行ファイル名.exe のように実行ファイルを呼び出したいです。 コマンドプロンプトでバッチファイルで,逐次exeを 実行することはできますが,ソースコードの中で 実行ファイルを指定したいです。 よろしくお願いいたします。

  • C++のソースをコンパイルしてできた実行ファイル

    のトラブルです。ちなみにプログラミングはかなりの初心者です。 サンプルソース等をコンパイルして実行ファイルを作成しても、実行ウィンドウが固まってしまいます。 どのプログラムでコンパイルしても同じです。二台のPCのVisual C++でやってみましたが(VistaデスクトップとXPノート)、どちらでもビルドが正常終了した後実行ファイルを確認するとファイル名の表示されたウィンドウが真っ白のまま固まってます。borlandのC++Builderで作成した実行ファイルも実行ウィンドウが同じ状態になりました。CD-ROM添付のサンプル実行ファイルだけはしっかり表示されました。 猫でもわかるゲームプログラミングで勉強しようとしています。 どなたか分かる方ご回答お願いしますm(_ _)m

  • MacでFortranプログラミングをするには・・・

    当方、Windowsユーザーですが、最近、単なる興味本位でMacに買い換えようと考えています。 通常、WindowsでFortranのプログラミングを行う際は、visial fortranのようなコンパイラで、コンパイルして実行する訳ですが、Macの場合もコンパイラを使うのですか? また、いろいろ複数のソースファイルを結合させて一つの実行ファイルを作る際、リンカーを使って一つの実行ファイルを作るわけですが、そういうこともできますか?

専門家に質問してみよう