1

RedHatクラスター(x86_64ホスト)でcross-mingwをセットアップしようとしています。ルートアクセス権がなく、利用可能なmingwバイナリが機能しません(悪いglibc verなど)。私はこのチュートリアルを行っています:

http://sourceforge.net/apps/trac/mingw-w64/wiki/Cross%20Win32%20and%20Win64%20compiler

私は次のソースtarballからコンパイルしています:

binutils-2.20.1.tar.bz2
gcc-4.7.0.tar.bz2
gmp-5.0.4.tar.bz2
mingw-w64-v2.0.2.tar.gz
mpc-0.9.tar.gz
mpfr-2.4.2.tar.bz2

残念ながら、すでにいくつかの問題に対処した後、mingw-crtのコンパイル中に1つに固執しました-チュートリアルの「crt(Mingw-w64自体)の構築」の手順。私はsysrootを使用していて、適切な$PATHを持っています。しばらくすると、次のエラーで終了し、いくつかのmakeレシピが完了します。

x86_64-w64-mingw32-ranlib lib64/libws2_32.a
x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I/home/zaluski/work/mingw-builds/mingw-w64-v2.0.2/mingw-w64-crt  -D_CRTBLD -I/var/fpwork/mingw/x86_64-w64-mingw32/include   -pipe -std=gnu99 -Wall -Wextra -Wformat -Wstrict-aliasing -Wshadow -Wpacked -Winline -Wimplicit-function-declaration -Wmissing-noreturn -Wmissing-prototypes -g -O2 -m64 -I/home/zaluski/work/mingw-builds/mingw-w64-v2.0.2/mingw-w64-crt/include -D_SYSCRT=1 -DCRTDLL=1 -c /home/zaluski/work/mingw-builds/mingw-w64-v2.0.2/mingw-w64-crt/crt/crtexe.c -o lib64/crt1.o -D__CRTDLL__ -U__MSVCRT__
{standard input}: Assembler messages:
{standard input}:713: Error: unknown pseudo-op: `.seh_handlerdata'
{standard input}:762: Error: unknown pseudo-op: `.seh_handlerdata'
make[3]: *** [lib64/crt1.o] Error 1

私がグーグルで見つけたのは、適切なコンパイラが使用されているかどうかをチェックすることについての提案だけでした。私が言ったように、私は良い$ PATHを持っています(/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin: / opt / bin:/ usr / atria / bin:/ opt / UsageModel:/ home / zaluski / bin:/ var / fpwork / mingw / bin)、ログにx86_64-w64-mingw32-gccがあります。

4

2 に答える 2

0

クロスコンパイルの代わりにネイティブアセンブラが使用されている可能性があります。*x86_64-w64-mingw32-as*が$PATHにあるかどうかを確認します。

* x86_64-w64-mingw32-gcc -S *フラグを指定して失敗したコマンドを実行し、アセンブリコードを自分で発行してから、発行されたアセンブリを*x86_64-w64-mingw32-as*アセンブラーで使用して同様のエラーが発生するかどうかを比較します。

于 2012-04-21T08:08:49.897 に答える
0

さて、なんとかインストールを進めることができました。SEHマクロが定義されていることがわかりましたが、定義されるべきではないようであるため、条件付きコードは失敗します。クイックハックで問題が解決しました。

sed 's/#ifdef __SEH__/#ifdef __SEHWORKAROUND__/' -i mingw-builds/mingw-w64-v2.0.2/mingw-w64-crt/crt/crtexe.c

このソリューションの後、mingw-crtを正常にコンパイルし、次のステップである「GCCの終了」に進むことができました。

于 2012-04-23T10:41:56.190 に答える