0
我试图编译下面的代码:http://www-personal.umich.edu/~mejn/dcbm/KLOptimization.cppc + +编译 - GSL在x86_64
但我从收到以下错误消息G ++:
> 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
我的MacBook Air,运行iOS 10.7.3 。 g ++是i686-apple-darwin11-llvm-g ++ - 4.2。
==> 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
什么对象是_gsl_rng_uniform_int?你是否将它与'ccDEqovL.o'链接? – 2012-03-14 21:02:58
看起来你忘了链接GSL库。当你编译时,你的命令行是否包含'-lgsl'(我相信这是需要的)? – 2012-03-14 21:04:07
...只是因为我有时会问这个问题 - 实际上是否已经手动将路径“/ usr/local/share/aclocal”添加到“/ usr/share/aclocal/dirlist”? – 2012-03-14 21:07:19