make error:在Cygwin中构建64位GSL

时间:2013-06-07 06:50:53

标签: c gcc cygwin gsl ar

继续here,我试图在Cygwin中使用GCC构建64位GSL。

  1. ./configureCC=x86_64-w64-mingw32-gcc CFLAGS=-m64 ./configure)的调用很顺利,但在成功处理完整个文件夹后,调用make install会导致

    ./。libs / libgslsiman.a:无法读取符号:存档没有索引;运行ranlib添加一个

    collect2:ld返回1退出状态

    Makefile:326:目标`siman_tsp.exe'的配方失败

    造成这种情况的完整电话是

    全力以赴 make 2:输入目录`/cygdrive/f/programming/c/libraries/gslCompiled/gsl-1.15/siman'

    / bin / sh ../libtool --tag = CC --mode = link x86_64-w64-mingw32-gcc -m64 -o siman_tsp.exe siman_tsp.o libgslsiman.la ../rng/libgslrng.la。 ./ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../sys/libgslsys.la ../utils/libutils.la -lm

    libtool:link:x86_64-w64-mingw32-gcc -m64 -o .libs / siman_tsp.exe siman_tsp.o ./.libs/libgslsiman.a ../rng/.libs/libgslrng.a ../ieee -utils / .libs / libgslieeeutils.a ../err/.libs/libgslerr.a ../sys/.libs/libgslsys.a ../ utils / .libs / libutils.a

  2. 根据建议here,我决定在ranlib文件的./siman/.libs目录中运行libgslsiman.a。由于这不起作用,我还试图通过调用ar -t libgslsiman.a来自行打包。

  3. 但是,这会导致相同的错误。

1 个答案:

答案 0 :(得分:1)

您手动强制使用交叉编译器。但是,构建工具链的其余部分仍将默认为32位Cygwin版本,而不是64位MinGW版本。

不是设置CC=...,而是将--host x86_64-w64-mingw32传递给./configure以指定主机环境(即将使用库的位置)。