Mac安装gsl库及配置

Washy
2024-06-17 / 0 评论 / 70 阅读 / 正在检测是否收录...

0 前言

前段时间在Mac上运行C程序,需要调用gsl库,使用过程中遇到一些问题,在网上找了不少博客才解决,在此记录下。

1 安装gsl库

brew install gsl
  • 等待安装完成即可
  • 默认安装路径为/opt/homebrew/Cellar/gsl/2.7.1

2 配置gsl库

  • 进入终端,打开根目录下的.zprofile文件
vim .zprofile
  • 在文件末尾添加头文件路径至C检索目录
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/opt/homebrew/Cellar/gsl/2.7.1/include
  • 在文件末尾添加链接库至检索C/C++目录
export LIBRARY_PATH=$LIBRARY_PATH:/opt/homebrew/Cellar/gsl/2.7.1/lib
  • 保存并关闭文件,然后重新加载
source .zprofile
  • 在终端输入如下命令(cpp-13是因为我安装的gcc版本是13.x),如果能看到/opt/homebrew/Cellar/gsl/2.7.1/include路径,则说明头文件路径已经能够被检索
cpp-13 -v
  • 在终端输入如下命令,返回值一致则说明链接库已经配置成功
# 命令
gsl-config --libs
# 返回值
-L/opt/homebrew/Cellar/gsl/2.7.1/lib -lgsl -lgslcblas

3 补充

3.1 clang与GNU GCC

  • M1 Mac默认安装有clang用于编译C程序,因此直接使用gcc调用的是clang,测试如下
# 命令
gcc -v
# 返回值
Apple clang version 15.0.0 (clang-1500.3.9.4)
Target: arm64-apple-darwin23.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
  • 如果想调用GNU GCC,则需要加上版本号,如13.x版本加上-13,测试如下
# 命令
gcc-13 --version
# 返回值
gcc-13 (Homebrew GCC 13.2.0) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  • 确定GNU GCC的版本号,可以用gfortran的版本查看,返回值中13.2.0即为当前安装的GNU GCC版本
# 命令
gfortran --version
# 返回值
GNU Fortran (Homebrew GCC 13.2.0) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  • clangGNU GCC在某些命令上存在差异,因此是不能直接互相替代的,比如-fopenmp命令在前者会报错

3.2 其他调用方式

  • 如果不使用第2节的配置,可以使用-I-L直接指定头文件和链接库路径,只需在编译时加入如下命令即可
-I/opt/homebrew/Cellar/gsl/2.7.1/include -L/opt/homebrew/Cellar/gsl/2.7.1/lib

参考

1

评论 (0)

昵称
邮箱
网址
取消