2012-02-02 9 views
4

Cで書かれたStata(統計的プログラミング言語)用のプラグインをコンパイルしようとしています。著者はそれをコンパイルすることができました(Cygwinを使用して)、32ビットPCのWindows上で次のコマンドを使用して他のマシン:gccを使って64ビットWindows 7マシンでCコードをコンパイルする方法4.5.3

gcc -shared -fPIC -DSYSTEM=OPUNIX stplugin.c strgroup.c -O3 -funroll-loops -o "strgroup.PC (64-bit x86-64).Unix.plugin" 

およびMacintosh OS X:

gcc -shared -mno-cygwin stplugin.c strgroup.c -O3 -funroll-loops -o strgroup.PC.Windows.plugin 

彼はまたして64ビットのUNIX上でそれをコンパイルすることができましたwith:

gcc -bundle -arch i386 -arch x86_64 -arch ppc -DSYSTEM=APPLEMAC stplugin.c strgroup.c -O3 -funroll-loops -o "strgroup.Macintosh.MacOSX.plugin" 

私はCygwin 1.7.9-1とgcc v4.5.3を使って64ビットWindows 7マシンでコンパイルしようとしています。 mno-cygwinフラグは私に問題を起こしていますが、私はmingwターゲットのクロスコンパイラの使い方を理解できません。

+2

「私にトラブルを与える」というのは少し曖昧です。 – millimoose

+0

メッセージは "gcc:-mno-cygwinフラグは削除されていますが、mingwターゲットのクロスコンパイラを使用してください。" –

答えて

1

-mno-cygwinオプションはno longer supportedです。

適切なクロスコンパイラを取得するにはmingw-*mingw64-i686-*またはmingw64-x86_64-*ツールチェーン(CygwinのパッケージマネージャでカテゴリDevelの)のいずれかをインストールします。

+0

私は既にそれらをインストールしましたが、私はどのフラグを使うべきか混乱しています。 gccのマニュアルページにはたくさんのオプションがあるようですが、どのコマンドを使うべきかはわかりません: '-mconsole -mcygwin -mno-cygwin -mdll -mnop-fun-dllimport -mthread -municode -mwin32 -mwindows -fno-set -stack-executable' –

+0

私はばかです。私はあなたが何を意味するのか誤解しました。次のコードが動作します: 'x86_64-w64-mingw32-gcc -shared stplugin.c strgroup.c -O3 -funroll-loops -o strgroup.plugin '。 –

関連する問題