由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Linux版 - C里面call lapack subroutine,"undefined reference to *"
相关主题
安装linux的计算机看你的水平fortran 编成的问题
C++ 诡异的编译问题。请教。怎么知道lapack之类是否支持long double?
正式加入Mac user行列 (转载)系统Load不正常可能是什么原因
ubuntu10.04装fortran,搞不定了linux 下 装 lapack
fortran on Ubuntu是不是有的软件在有的distro上就是不好/不能安装?
Fortran complierglibc版本过高怎么办?
求:gcc 4.6.1不兼容 ubuntu 11.10急问:linux 2.6 里,如何从inode得到ext2_inode_info?
装载软件遇到问题,能帮忙看看日志么,急的,谢谢!装windows文件的硬盘
相关话题的讨论汇总
话题: lapack话题: undefined话题: subroutine话题: reference话题: call
进入Linux版参与讨论
1 (共1页)
t******1
发帖数: 334
1
大家有在C里面call lapack subroutine么?
我在学校的超级计算机上编译,include跟linker的flag都设好了,但是还是出现
undefined reference to这个错误,不知道哪儿出问题了,有人知道么?
google结果,据说可能是一个libg2c的库的问题,但我一个新手,啥都不懂,能知道
linker已经觉得很牛鼻了,这个问题对我而言很棘手。
希望懂的同志能帮一下手。谢谢。
p****s
发帖数: 32405
2
undefined reference to what?
是不是某个函数/变量没定义就在用?

【在 t******1 的大作中提到】
: 大家有在C里面call lapack subroutine么?
: 我在学校的超级计算机上编译,include跟linker的flag都设好了,但是还是出现
: undefined reference to这个错误,不知道哪儿出问题了,有人知道么?
: google结果,据说可能是一个libg2c的库的问题,但我一个新手,啥都不懂,能知道
: linker已经觉得很牛鼻了,这个问题对我而言很棘手。
: 希望懂的同志能帮一下手。谢谢。

s****t
发帖数: 698
3

貌似是用了某个lib的函数,没link上吧。
如果文件不多,一个一个定位一下吧。

【在 t******1 的大作中提到】
: 大家有在C里面call lapack subroutine么?
: 我在学校的超级计算机上编译,include跟linker的flag都设好了,但是还是出现
: undefined reference to这个错误,不知道哪儿出问题了,有人知道么?
: google结果,据说可能是一个libg2c的库的问题,但我一个新手,啥都不懂,能知道
: linker已经觉得很牛鼻了,这个问题对我而言很棘手。
: 希望懂的同志能帮一下手。谢谢。

m*****r
发帖数: 130
4
你的知道是啥symbol找不到吧,然后看看在那个lib里,放到你的连接是参数就好了

【在 t******1 的大作中提到】
: 大家有在C里面call lapack subroutine么?
: 我在学校的超级计算机上编译,include跟linker的flag都设好了,但是还是出现
: undefined reference to这个错误,不知道哪儿出问题了,有人知道么?
: google结果,据说可能是一个libg2c的库的问题,但我一个新手,啥都不懂,能知道
: linker已经觉得很牛鼻了,这个问题对我而言很棘手。
: 希望懂的同志能帮一下手。谢谢。

t******1
发帖数: 334
5
多谢各位的回答。
的确是找不到某一个函数,那个函数是用fortran语言写的。
定义在头文件里面已经定义过了,include路径也找到了,所以应该不是定义的问题。
应该是link的时候出的问题。我用的是一个lapack的库里的一个函数,但是我link的路
径明明已经设好了。
-L/opt/intel/mkl/10.0.4.023/lib/em64t -llapack
不知道上面某仁兄说的“一个一个的定位“是什么意思。
l***o
发帖数: 390
6
我以前遇到过这样的问题,大多是不同的编译器用不同的 name mangling 方法造成的
,特别是函数名字中有下划线时。比如用 gfortran 连接 g77 编译的库就要加上编译
选项 -ff2c。那个函数名中有下划线吗?
还有一种可能是连接库的顺序不对,不过比较少见,一般不会把 .o 文件放在 -
llapack 之后的。可以尝试把 lapack 库在待连接文件中的顺序向后调整一下。

【在 t******1 的大作中提到】
: 多谢各位的回答。
: 的确是找不到某一个函数,那个函数是用fortran语言写的。
: 定义在头文件里面已经定义过了,include路径也找到了,所以应该不是定义的问题。
: 应该是link的时候出的问题。我用的是一个lapack的库里的一个函数,但是我link的路
: 径明明已经设好了。
: -L/opt/intel/mkl/10.0.4.023/lib/em64t -llapack
: 不知道上面某仁兄说的“一个一个的定位“是什么意思。

t******1
发帖数: 334
7
谢谢楼上,已经找到答案了,就在intel mkl userguide里,我没有仔细读,有linking
这一章的。
不过话说,一周之前,我还只知道gcc *.c,什么link, flag什么都不懂,这也算是学
习的过程了。
1 (共1页)
进入Linux版参与讨论
相关主题
装windows文件的硬盘fortran on Ubuntu
Emacs下怎么设置数字键盘上的"."(点)?Fortran complier
ubuntu 11.10下编译不通过求:gcc 4.6.1不兼容 ubuntu 11.10
Can't call method "header" on an undefined value at /.../login.pl line 19.装载软件遇到问题,能帮忙看看日志么,急的,谢谢!
安装linux的计算机看你的水平fortran 编成的问题
C++ 诡异的编译问题。请教。怎么知道lapack之类是否支持long double?
正式加入Mac user行列 (转载)系统Load不正常可能是什么原因
ubuntu10.04装fortran,搞不定了linux 下 装 lapack
相关话题的讨论汇总
话题: lapack话题: undefined话题: subroutine话题: reference话题: call