c - 使错误 : Building 64-bit GSL in Cygwin

标签 c gcc cygwin gsl unix-ar

继续 here ,我正在尝试在 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 制造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. 遵循建议 here ,我决定在 ./siman/.libs 目录下的 libgslsiman.a 文件上运行一个 ranlib。由于这不起作用,我还尝试通过调用 ar -t libgslsiman.a 自行打包它。

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

最佳答案

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

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

关于c - 使错误 : Building 64-bit GSL in Cygwin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16977948/

相关文章:

Windows 中的 Hadoop

shell - 如何使 'less' 不占用完整终端

c - 使用 WebKitGTK 播放 html5 视频

c++ - 动态分配数组时出现奇怪的段错误

c - Makefile - 用于 C 程序的 Unix

c++ - 带有 mmacosx-version-min 和 Foundation header 的 MacPorts GCC 4.8.2 错误

Shell命令将大文件拆分为10个小文件

c - 从文件中读取一串信息并按int结果排序

c++ - 使用 GlDrawElements() 绘制立方体?

c - 优化: Faster compilation