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

Windows下CLion中使用GCC编译C99并链接BLAS库的方法咨询

在CLion中配置GCC编译C99并链接BLAS库(Windows环境)

核心配置:修改CMakeLists.txt

CLion基于CMake管理项目,只需调整CMakeLists.txt即可实现C99编译和BLAS库链接,替代终端的cc hello.c -lblas操作:

基础配置示例

将以下内容替换或补充到你的CMakeLists.txt中:

cmake_minimum_required(VERSION 3.20)
# 替换为你的项目名称
project(blas_demo C)

# 强制启用C99标准
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)

# 添加可执行文件,包含你的C源文件和Fortran文件
add_executable(blas_demo hello.c dgemv.f)

# 链接BLAS库
target_link_libraries(blas_demo PRIVATE blas)

自定义BLAS路径配置

如果BLAS库未安装在编译器默认搜索路径,需先指定库和头文件路径:

# 替换为你的BLAS库所在目录
link_directories("D:/path/to/blas/lib")
# 若BLAS有单独的头文件目录,添加此行
include_directories("D:/path/to/blas/include")

CLion工具链确认

  1. 打开File > Settings > Build, Execution, Deployment > Toolchains
  2. 确认当前使用的是MinGW/MSYS2的GCC工具链,确保已通过包管理器安装BLAS(比如MinGW下执行pacman -S mingw-w64-x86_64-blas)
  3. 点击右上角的「Reload CMake Project」,让配置生效

无需GCC的替代方案:使用Intel oneAPI MKL

MKL集成了优化的BLAS实现,配置步骤如下:

  1. 安装Intel oneAPI Base Toolkit
  2. 修改CMakeLists.txt:
cmake_minimum_required(VERSION 3.20)
project(blas_demo C)

set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)

add_executable(blas_demo hello.c dgemv.f)

# 查找并链接MKL
find_package(MKL REQUIRED)
include_directories(${MKL_INCLUDE_DIRS})
target_link_libraries(blas_demo PRIVATE ${MKL_LIBRARIES})
  1. 确保CLion能识别MKL环境变量(可通过启动CLion前运行oneAPI的环境配置脚本实现)

注意事项

  • 调用Fortran版BLAS函数dgemv_时,需注意C与Fortran的参数差异:Fortran采用列优先数组存储,且所有参数需以指针传递
  • 若编译报错,可检查BLAS库是否正确安装,路径配置是否匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 05:15:41