2012-05-06 15 views
0

したがって、CygwinでソースからGSLをコンパイルしました。すべてうまくいった、私は何かエラーを取得しませんでした。私はいくつかの簡単なコードをコンパイルしようとする。しかし、私は次のエラーを取得:GNUサイエンティフィックライブラリを使用しようとしましたが、リンカエラーが発生しました

..\..\..\Programme\CodeBlocks\MinGW\lib\libgsl.a(error.o) In function `gsl_error': 
\usr\include\gsl\err\error.c|43|undefined reference to `__getreent' 
\usr\include\gsl\err\error.c|44|undefined reference to `__getreent' 
\usr\include\gsl\err\error.c|45|undefined reference to `__getreent' 
..\..\..\Programme\CodeBlocks\MinGW\lib\libgsl.a(stream.o) In function `gsl_stream_printf': 
\usr\include\gsl\err\stream.c|37|undefined reference to `__getreent' 
..\..\..\Programme\CodeBlocks\MinGW\lib\libgsl.a(stream.o) In function `gsl_set_stream': 
\usr\include\gsl\err\stream.c|61|undefined reference to `__getreent' 

私はlibgsl.aとlibgscblas.aライブラリをリンクし、そして何の任意の他の機能に不満はありません。今後の参考のために

:あなたが見ているあなたは、コード内でツールチェーンを設定したいときはいけないのOKを押しての代わりにキャンセル::ブロック

+0

これは、システム(またはコンパイルに使用しているcmdボックス)でcygwinのインストールに問題があります。エラーだけでなく、コンパイル環境を共有してください。これはプログラミング上の問題でもgslでの問題でもありません。 –

答えて

1

エラーはMinGWのは、Cygwinをリンクしていないという事実によるものですデフォルトではDLLです。

MinGWとCygwinでコンパイルされたライブラリは、お互いにうまく再生されません - それはpossible to get it to workですが、それは本当に良い考えではありません。

は、この場合には、それは代わりに同梱のMinGW分布のCygwinのツールチェーンを使用していますので、コード::ブロックを設定したり、同様のMinGWでGSLをコンパイルするのいずれかを意味し、あなたのプロジェクトのためのツールチェーンを選択してください。

+0

私の信頼できるクリスタルボールを賢明に使ってこの答えをあなたにもたらしました... – Christoph

+0

私はすでにCygwinのツールチェーンを使用しようとしましたが、それは私の構成を保存しなかったので、それはまだMinGWのツールチェーン<_ <。実際に正しいツールチェーンを使って試してみることにしました。 – user1290204

0

あなたは、Cygwinの中で、次のオプションを使用することがあります。

./configure CC=i686-w64-mingw32-gcc 

その後、あなたはコードブロックでGSLを使用することができます。

関連する問題