2017-11-26 15 views
0

私はstackflowに新しいです。私は以前はコンピュータシステムとプログラミングのバックグラウンドを持っていません。しかし、私は私のバイオインフォマティクスプロジェクトのためにcygwinの下で分析を実行する必要があります。実行可能プログラムを生成するために、cygwinを使用してファイル名 'zone_b.linux'をコンパイルしようとすると、何らかのエラーが発生します。 linuxファイルは、Web https://github.com/haddocking/HADDOCK-binding-sites-tutorial/blob/master/ana_scripts/zone_b.linuxからダウンロードします。私はcygwinの下に、次のコマンドを使用してコンパイルしようとすると、それは次のエラー生成:cygwinのWinMain @ 16で未定義の参照

$ gcc zone_b.linux 
/usr/lib/gcc/i686-pc-cygwin/6.4.0/../../../libcygwin.a(libcmain.o): In 
function `main': 
/usr/src/debug/cygwin-2.9.0-3/winsup/cygwin/lib/libcmain.c:37: undefined 
reference to `[email protected]' 
collect2: error: ld returned 1 exit status 

Error description

を私はstackoverflowの下に、次のエラーを検索し、私は同様の問題を持つ2つのポストを見つけました。

最初の投稿はundefined reference to `[email protected]'です。この問題は、Microsoftのリンカーが、標準のメインではなくMicrosoftの非標準のWinMainを呼び出すランタイムライブラリエントリポイント(winMainCRTStartup)を使用していることによるものであると述べています。だから、私は、コマンドを次のコマンドでエントリを含めることの投稿の試しを試してください

$ gcc zone_b.linux /entry:winMainCRTStartup 
gcc: error: /entry:winMainCRTStartup: No such file or directory 

しかし、私はそのようなファイルやディレクトリがないエラーが表示されます。私はmingWではなくcygwinの下で走っているからかもしれないと思うかもしれない。

2番目の投稿はUndefined reference to WinMain in Cygwinです。投稿からは、-cコンパイルフラグを使用してオブジェクトファイルのみを生成すると述べています。しかし、私の場合は、-cを使用していません。したがって、私はそれが私の問題に関連していないと思う。

私はこのコンピューティング分野を初めて利用して以来、誰かが私に説明してくれればと感謝します。ありがとうございました。

+0

どの言語でzone_b.linuxが書かれていますか? 'file zone_b.linux'はヒントを提供します – matzeri

答えて

1

zone_b.linuxは、Linuxマシン上で実行するコンパイルおよびリンクされた実行可能プログラムです。これは32ビットのELFバイナリファイルです。 cygwinやmingw32を使っていても、再コンパイルせずにWindowsマシンでは動作しません。

、FORTRANソースファイルをコンパイルして、gfortranコンパイラを使用してcygwinで使用できるzone_b.exeを作成する必要があるかもしれません。私はこれについての指示は見ませんでしたが、gcc zone_b.fと十字架のようなものを試してみてください。 Cygwinのセットアップを使用してgfortranがインストールされていることを確認してください。

また、(再)ana_scriptsディレクトリにmakeを実行することにより、他の実行ファイル(cluster_struccontact)を構築する必要があります。提供された実行ファイル(git clone ...またはダウンロードされた.zipファイル)はcygwinでは動作しません。

perlpythonがインストールされている必要があります。私はperlがデフォルトでインストールされていると思う。 Cygwinのセットアップを使ってpython2をインストールすることができます。 Pythonスクリプトは、デフォルトのPython2またはPython3で動作するように見えます。 cygwinでは、今日、python2がデフォルトのpythonです。私はperlをしないので、あなたの指を渡りなさい。

+0

Doug Hendersonありがとうございます。私はすでにubuntuでzone_b.linuxを実行しようとしています。ここでは、source.cshコマンドを実行し、zone_b.exeが生成されます。しかし、実行可能なzone_bでもエラーが生成されます(zone_bコマンドが見つかりません)。私がchmod a + x zone_bを実行した後でさえ、スクリプトは応答していません。私も zone_b.fをコンパイルしようとしましたが、エラーも発生します。私はこの投稿の下でエラーを投稿しています:https://stackoverflow.com/questions/47503002/syntax-error-in-open-statement-with-gfortran-at-carriagecontrol?noredirect = 1#コメント81986558_47503002 – Shawn