Gcc 编写gsl/atlas/cython

Gcc 编写gsl/atlas/cython,gcc,compilation,cython,gsl,atlas,Gcc,Compilation,Cython,Gsl,Atlas,我对cython和gsl是新手,我正在努力学习 我已经编写了一个小代码段,它使用cython编写了一个模块来计算最小二乘估计量,这是在C语言中使用GSL完成的 我在编译代码时遇到了很大的困难。在昨天尝试了一整天之后,下面是让代码工作的方法(cython生成的文件是lsq.c,本机的c是c_lsq.c) 这太长了,很奇怪,这似乎是我唯一能让它工作的方法。但是, -lcblas和-latlas不是多余的吗 为什么我必须发送/usr/local/atlas/lib/libsatlas.so 有没有办法

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

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

我在编译代码时遇到了很大的困难。在昨天尝试了一整天之后,下面是让代码工作的方法(cython生成的文件是lsq.c,本机的c是c_lsq.c)

这太长了,很奇怪,这似乎是我唯一能让它工作的方法。但是,

  • -lcblas和-latlas不是多余的吗
  • 为什么我必须发送/usr/local/atlas/lib/libsatlas.so
  • 有没有办法通过两个步骤编译整个程序(即第一步编译c_lsq.c,第二步编译lsq.c)
  • 非常感谢你的建议

    (注:编译器是ubuntu 14.04上的gcc-4.9)

    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