2012-02-02 56 views
4

我想編譯一個用C編寫的Stata(一種統計編程語言)的插件。它的作者能夠編譯它使用在32位PC的Windows(使用Cygwin)以下命令其他機器:如何在使用gcc的64位Windows 7機器上編譯一些C代碼4.5.3

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

他還能夠與編譯它在64位Unix:

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 -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 2012-02-03 01:09:53

+0

消息是「gcc:-mno-cygwin標誌已被刪除;使用以mingw爲目標的交叉編譯器。」 – 2012-02-03 14:53:50

回答

1

-mno-cygwin選項是no longer supported

安裝無論是mingw-*mingw64-i686-*mingw64-x86_64-*工具鏈的(類別傑韋利在Cygwin包管理器),以獲得適當的交叉編譯。

+0

我已經安裝了這些,但我很困惑應該使用哪個標誌。 gcc的手冊頁似乎有很多選項,我不太確定使用哪一個:'-mconsole -mcygwin -mno-cygwin -mdll -mnop-fun-dllimport -mthread -municode -mwin32 -mwindows -fno-set -stack-executable' – 2012-02-03 14:49:38

+0

我是個白癡。我誤解了你的意思。以下代碼工作:'x86_64-w64-mingw32-gcc -shared stplugin.c strgroup.c -O3 -funroll-loops -o strgroup.plugin'。 – 2012-02-03 15:09:05

相關問題