2011-02-18 72 views
0

我想编译一个调用ARPACK库的C++程序。问题链接我的代码与OSX上的ARPACK(使用MacPorts的ARPACK)

我的问题是,当一切都链接时,一些在ARPACK库中的符号不​​会得到解决。他们是

__gfortran_transfer_integer 
__gfortran_transfer_character 
__gfortran_transfer_complex 
__gfortran_compare_string 
__gfortran_st_write_done 
__gfortran_st_write 
__gfortran_transfer_real 
__gfortran_transfer_array 

我做了我的lib目录中的强力搜索,并没有发现库,它提供了所有这些符号。其中一些是由libf77blas提供的,它看起来像g95有一些相似的符号(gfortran替换为g95),但我完全丧失了我可能需要安装的其他东西。我编译我的代码以

g++-mp-4.5 -O3 -Wall -Wl,-search_paths_first -headerpad_max_install_names my.o -o my.out -L/opt/local/lib -larpack -lm -L/opt/local/lib -lgsl -lgslcblas -lm -lf77blas -llapack -larpack -lqblas -lsquack

/opt/local/lib居然有所有的图书馆我参考。

有没有人遇到这个问题,或者可以指出解决方案?

回答

1

add to linker -lgfortran .................

+0

Thanks!有用。但是我的MacPorts库目录(`/ opt/local/lib`)中不存在`libgfortran`。我找了它,因为它不在那里,所以我一直在寻找提供这个文件的端口,并且找不到它。仍然没有线索在哪里图书馆......但它显然是在我的图书馆路径的某处。 – 2011-02-18 21:52:10