You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows系统下编译安装GNU/GSL C语言库

Windows本地编译安装GSL(推荐方案)

本地编译的二进制和后续自研程序兼容性最好,排错成本远低于交叉编译,操作步骤如下:

  • 先安装MSYS2环境,安装完成后注意:编译64位程序就打开MSYS2 MinGW 64-bit终端,编译32位程序打开MSYS2 MinGW 32-bit终端,不要打开默认的MSYS终端,后者编译出的二进制依赖POSIX模拟层,不是原生Windows程序。
  • 在打开的终端中执行命令安装基础编译工具链:
    pacman -Syu --needed base-devel
    
    执行完根据提示关闭终端重开,再安装对应架构的编译工具集:
    64位环境执行:
    pacman -S --needed mingw-w64-x86_64-toolchain tar
    
    32位环境执行:
    pacman -S --needed mingw-w64-i686-toolchain tar
    
  • 下载稳定版GSL源码压缩包,解压后进入源码根目录。
  • 执行配置命令,指定安装路径,这里以安装到C:\gsl为例:
    ./configure --prefix=/c/gsl --enable-shared --enable-static
    
    其中--enable-shared会生成动态链接库(DLL),--enable-static会生成静态库,可根据自己的需求裁剪参数。
  • 执行编译,-j后面跟CPU核心数可以加快编译速度:
    make -j$(nproc)
    
  • (可选)执行编译检查,确认编译产物没有问题:
    make check
    
  • 执行安装命令:
    make install
    
    安装完成后,C:\gsl目录下会生成三个子目录:bin(存放GSL对应的DLL文件)、include(存放头文件)、lib(存放链接用的库文件)。后续编译自己的程序时,将include目录加入头文件搜索路径,lib目录加入库搜索路径,链接时添加参数-lgsl -lgslcblas即可,运行程序时把bin目录下的GSL相关DLL放到EXE同目录就能正常运行。

省事方案:如果不需要自定义编译参数,直接在对应架构的MSYS2终端执行对应命令就能直接安装预编译好的GSL,无需手动编译:
64位:

pacman -S mingw-w64-x86_64-gsl

32位:

pacman -S mingw-w64-i686-gsl

安装完成后直接就能在编译时链接GSL,不需要额外配置路径。


Ubuntu下MinGW-w64交叉编译GSL方案

如果必须使用交叉编译,之前编译失败基本是因为没有指定正确的目标架构参数,操作步骤如下:

  • 先安装MinGW-w64交叉编译工具链:
    sudo apt update && sudo apt install -y mingw-w64
    
  • 下载和本地编译同版本的GSL稳定版源码,解压后进入源码根目录。
  • 执行配置命令,编译64位Windows版本时指定host为x86_64架构,安装路径选一个独立目录避免和本地Linux库混淆,这里以安装到/opt/gsl-mingw64为例:
    ./configure --host=x86_64-w64-mingw32 --prefix=/opt/gsl-mingw64 --enable-shared --enable-static
    
    如果要编译32位版本,把--host参数换成i686-w64-mingw32,安装路径对应调整即可。
  • 执行编译和安装:
    make -j$(nproc)
    sudo make install
    
    安装完成后,指定前缀目录下就会生成对应Windows平台可用的头文件、库文件和DLL,后续交叉编译自己的程序时指定该路径下的头文件和库路径即可。

注意:交叉编译时务必区分开Linux本地GSL和交叉编译的Windows版GSL的路径,不要混用,否则会出现链接错误或者生成的EXE无法运行的问题。

内容的提问来源于stack exchange,提问作者gudise

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 13:48:14