编译gsl / atlas / cython

时间:2016-02-09 11:59:24

标签: gcc compilation cython gsl atlas

我是cython和gsl的新手,我正在努力学习。

我编写了一个小代码片段,它使用cython编写一个模块来计算最小二乘估计量,这是使用GSL在C中完成的。

编译代码时遇到了很大麻烦。在昨天整天尝试之后,这里有代码可以运行(cython生成的文件是lsq.c而本机C是c_lsq.c)

gcc -fPIC -g  -o lsq.so -shared -O2 -I/home/user/anaconda/include/python2.7 -I/home/user/anaconda/lib/python2.7/site-packages/numpy/core/include -L/usr/local/lib -L/usr/local/atlas/libinclude -L/usr/local/lib -L/usr/local/atlas/lib -lcblas -latlas  -Wl,--whole-archive /usr/local/lib/libgsl.a /usr/local/atlas/lib/libcblas.a -Wl,--no-whole-archive  -lm lsq.c c_lsq.c /usr/local/atlas/lib/libsatlas.so

这非常漫长而且非常奇怪,这似乎是我能让它发挥作用的唯一方式。但是,

  1. 不是-lcblas和-latlas多余的?
  2. 为什么我必须发货/usr/local/atlas/lib/libsatlas.so?
  3. 是否有办法通过两个步骤编译整个程序(即编译c_lsq.c和第二个lsq.c的第一步)
  4. 非常感谢您的任何建议。

    (ps。编译器是ubuntu 14.04上的gcc-4.9)

0 个答案:

没有答案