用cygwin编译c文件时报错

xiaokalearning 2011-08-07 05:56:05
编译一个makefile文件
$ make
gcc inference.o gsl-wrappers.o ctm.o estimate.o corpus.o params.o -o ctm -lm -lgsl -latlas -lgslcblas
/usr/lib/gcc/i686-pc-cygwin/4.3.4/../../../../i686-pc-cygwin/bin/ld: cannot find -latlas
collect2: ld returned 1 exit status

报错了……求教~
...全文
236 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaokalearning 2011-08-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xunxun1982 的回复:]

引用 7 楼 xiaokalearning 的回复:

引用 5 楼 xunxun1982 的回复:

lz你没有atlas数值计算库


装的时候是听人说选的全装的,刚学这个不太懂~ 这个库要在哪边找看得到的啊?直接安装目录下lib文件夹下看了,没有看到类似这个名字的dll文件

cygwin自带么?我不知道
你可以去atlas官网下,有没有prebuilt的忘了,不行就自……
[/Quote]

还有,解压后一共一个两个文件夹,一个是include文件夹,里面是两个.h文件
一个是lib文件
然后有一个文件叫:Make.Linux_IA64Itan_2
在想是不是用makefile的方式可以编译?

麻烦了!
xiaokalearning 2011-08-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xunxun1982 的回复:]

引用 7 楼 xiaokalearning 的回复:

引用 5 楼 xunxun1982 的回复:

lz你没有atlas数值计算库


装的时候是听人说选的全装的,刚学这个不太懂~ 这个库要在哪边找看得到的啊?直接安装目录下lib文件夹下看了,没有看到类似这个名字的dll文件

cygwin自带么?我不知道
你可以去atlas官网下,有没有prebuilt的忘了,不行就自……
[/Quote]

对了,下面是readme的一些内容,有些觉得可能用得上的,就放上来了。麻烦了!
liblapack.a : The LAPACK routines provided by ATLAS. If you want a full
lapack library, the .o in this lib can be archived into the
f77 lapack lib without error.
**************LINKING*********************
When linking, remember that order is important. So, if you want uniprocessor
libs, your link line would contain IN THIS ORDER:
-LLIBDIR -llapack -lcblas -lf77blas -latlas
And if you want to utilize an SMP version, it would be:
-LLIBDIR -llapack -lptcblas -lptf77blas -latlas
************************** GETTING A FULL LAPACK LIB **************************
ATLAS does not provide a full lapack library. However, there is a simple way
to get ATLAS to provide its faster LAPACK routines to a full LAPACK library.
ATLAS's internal routines are distinct from LAPACK's, so it is safe to compile
ATLAS's LAPACK routines directly into a netlib-style LAPACK library.
First, obtain the LAPACK src from netlib and build the LAPACK library as
normal. Then, in this directory (where you should have a liblapack.a),
issue the following commands:
mkdir tmp
cd tmp
ar x ../liblapack.a
cp <your LAPACK path & lib> ../liblapack.a
ar r ../liblapack.a *.o
cd ..
rm -rf tmp

Just linking in ATLAS's liblapack.a first will not get you the best LAPACK
performance, mainly because LAPACK's untuned ILAENV will be used instead
of ATLAS's tuned one.

xiaokalearning 2011-08-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xunxun1982 的回复:]

引用 7 楼 xiaokalearning 的回复:

引用 5 楼 xunxun1982 的回复:

lz你没有atlas数值计算库


装的时候是听人说选的全装的,刚学这个不太懂~ 这个库要在哪边找看得到的啊?直接安装目录下lib文件夹下看了,没有看到类似这个名字的dll文件

cygwin自带么?我不知道
你可以去atlas官网下,有没有prebuilt的忘了,不行就自……
[/Quote]

下到了,是直接把包扔进Cygwin的lib文件夹下面? 看到Readme里面写要Linking……
折腾了半天没连得上,大侠,麻烦求教了~
xunxun 2011-08-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xiaokalearning 的回复:]

引用 5 楼 xunxun1982 的回复:

lz你没有atlas数值计算库


装的时候是听人说选的全装的,刚学这个不太懂~ 这个库要在哪边找看得到的啊?直接安装目录下lib文件夹下看了,没有看到类似这个名字的dll文件
[/Quote]
cygwin自带么?我不知道
你可以去atlas官网下,有没有prebuilt的忘了,不行就自己编译吧
xiaokalearning 2011-08-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xunxun1982 的回复:]

lz你没有atlas数值计算库
[/Quote]

装的时候是听人说选的全装的,刚学这个不太懂~ 这个库要在哪边找看得到的啊?直接安装目录下lib文件夹下看了,没有看到类似这个名字的dll文件
xiaokalearning 2011-08-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jackyjkchen 的回复:]

atlas是个软件包,cygwin装全了么?
[/Quote]

装的时候选的是全部安装
xunxun 2011-08-07
  • 打赏
  • 举报
回复
lz你没有atlas数值计算库
jackyjkchen 2011-08-07
  • 打赏
  • 举报
回复
atlas是个软件包,cygwin装全了么?
xiaokalearning 2011-08-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 louyong0571 的回复:]

cannot find -latlas
没这个库吗?检查看看
[/Quote]

谢谢大侠,初学Linux不太会,要怎么样查看库文件啊?
louyong0571 2011-08-07
  • 打赏
  • 举报
回复
cannot find -latlas
没这个库吗?检查看看
xiaokalearning 2011-08-07
  • 打赏
  • 举报
回复
是不是东西没有加全? 初学Linux,各位大侠求教了~

23,129

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧