1

这里继续,我正在尝试在 Cygwin 中使用 GCC 构建 64 位 GSL。

  1. ./configure( CC=x86_64-w64-mingw32-gcc CFLAGS=-m64 ./configure) 的调用顺利进行,但在make install成功处理整个文件夹负载后,对结果的调用

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

    collect2: ld 返回 1 个退出状态

    Makefile:326: 目标“siman_tsp.exe”的配方失败

    导致这种情况的完整电话是

    在 siman 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:链接: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. 按照这里的建议,我决定在文件ranlib./siman/.libs目录中运行一个libgslsiman.a。由于这不起作用,我还尝试使用对ar -t libgslsiman.a.

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

4

1 回答 1

1

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

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

于 2013-06-07T08:47:32.210 回答