1

ここから続けて、Cygwin で GCC を使用して 64 ビット GSL をビルドしようとしています。

  1. ./configure( CC=x86_64-w64-mingw32-gcc CFLAGS=-m64 ./configure)への呼び出しは問題なくmake install実行されますが、フォルダのロード全体が正常に処理された後、結果への呼び出しは次のようになります。

    ./.libs/libgslsiman.a: シンボルを読み取れませんでした: アーカイブにインデックスがありません。ranlib を実行して追加します

    collect2: ld が 1 つの終了ステータスを返しました

    Makefile:326: ターゲット `siman_tsp.exe' のレシピが失敗しました

    これを引き起こした完全な呼び出しは

    siman make 2ですべて作成: ディレクトリ `/cygdrive/f/programming/c/libraries/gslCompiled/gsl-1.15/siman' に入る

    /bin/sh ../libtool --tag=CC --mode=link x86_64-w64-mingw32-gcc -m64 -o siman_tsp.exe siman_tsp.o libgslsiman.la ../rng/libgslrng.la ../ieee -utils/libgslieeeutils.la ../err/libgslerr.la ../sys/libgslsys.la ../utils/libutils.la -lm

    libtool: リンク: x86_64-w64-mingw32-gcc -m64 -o .libs/siman_tsp.exe siman_tsp.o ./.libs/libgslsiman.a ../rng/.libs/libgslrng.a ../ieee-utils/ .libs/libgslieeeutils.a ../err/.libs/libgslerr.a ../sys/.libs/libgslsys.a ../utils/.libs/libutils.a

  2. hereのアドバイスに従って、ファイルranlib./siman/.libsディレクトリでa を実行することにしました。libgslsiman.aそれがうまくいかなかったので、 への呼び出しを使用して自分でパックしようとしましたar -t libgslsiman.a

ただし、これにより同じエラーが発生します。

4

1 に答える 1

1

手動でクロス コンパイラの使用を強制しました。ただし、ビルド ツールチェーンの残りの部分は、64 ビットの MinGW バージョンではなく、32 ビットの Cygwin バージョンにデフォルト設定されます。

を設定する代わりにCC=...、 を渡し--host x86_64-w64-mingw32./configureホスト環境 (つまり、ライブラリが使用される場所) を指定します。

于 2013-06-07T08:47:32.210 に答える