2012-03-14 11 views
0

に、私は次のコードをコンパイルしようとしています:http://www-personal.umich.edu/~mejn/dcbm/KLOptimization.cppC++のコンパイル - GSLをx86_64版

をしかし、私は++グラムから、次のエラーメッセージが表示されます。

> Undefined symbols for architecture x86_64: "_gsl_rng_uniform_int", 
> referenced from: 
>  Initialize()  in ccDEqovL.o 
>  _main in ccDEqovL.o "_gsl_rng_default_seed", referenced from: 
>  _main in ccDEqovL.o "_gsl_rng_default", referenced from: 
>  _main in ccDEqovL.o "_gsl_rng_alloc", referenced from: 
>  _main in ccDEqovL.o "_gsl_rng_name", referenced from: 
>  _main in ccDEqovL.o "_gsl_rng_get", referenced from: 
>  _main in ccDEqovL.o "_gsl_rng_uniform", referenced from: 
>  _main in ccDEqovL.o "ComputeVI()", referenced from: 
>  _main in ccDEqovL.o "ComputeNMI()", referenced from: 
>  _main in ccDEqovL.o "_gsl_rng_free", referenced from: 
>  _main in ccDEqovL.o ld: symbol(s) not found for architecture x86_64 

私はiOSの10.7.3を実行している、MacBook Airのを持っています。 g ++はi686-apple-darwin11-llvm-g ++です。4.2。

私は次の出力ました、「醸造GSLのインストール」を使用してGSLをインストール:あなたがGSLライブラリをリンクするのを忘れているようだ

==> Downloading http://ftpmirror.gnu.org/gsl/gsl-1.15.tar.gz 
######################################################################## 100.0% 
==> ./configure --prefix=/usr/local/Cellar/gsl/1.15 
==> make 
==> make install 
Warning: m4 macros were installed to "share/aclocal". 
Homebrew does not append "/usr/local/share/aclocal" 
to "/usr/share/aclocal/dirlist". If an autoconf script you use 
requires these m4 macros, you'll need to add this path manually. 
==> Summary 
/usr/local/Cellar/gsl/1.15: 237 files, 7.0M, built in 81 seconds 
+0

どのオブジェクトが '_gsl_rng_uniform_int'ですか? 'ccDEqovL.o'とリンクしていますか? –

+2

GSLライブラリへのリンクを忘れたようです。コンパイル時にコマンドラインに '-lgsl'が含まれていますか? –

+0

... "/ usr/share/aclocal/dirlist"に "/ usr/local/share/aclocal"というパスを手作業で追加してもらえますか? –

答えて

9

を。ちょうど-lgslを追加すればうまくいくはずです(gslがあなたのライブラリパスにあると仮定します)。

関連する問題