在 ubuntu 18.04 上安装了 gsl 2.5。
尝试使用编译和运行sample_matrix.c脚本
$ gcc -Wall -I/usr/local/include -c sample_matrix.c
运行成功;进一步显示输出,
$ ./a.out
给出一个错误:
bash: ./a.out: 没有这样的文件或目录
我目前在名为“gsl”的文件夹中,其中保存了 sample_matrix.c 文件,该文件夹也是我安装 gsl pkg 的位置
在 ubuntu 18.04 上安装了 gsl 2.5。
尝试使用编译和运行sample_matrix.c脚本
$ gcc -Wall -I/usr/local/include -c sample_matrix.c
运行成功;进一步显示输出,
$ ./a.out
给出一个错误:
bash: ./a.out: 没有这样的文件或目录
我目前在名为“gsl”的文件夹中,其中保存了 sample_matrix.c 文件,该文件夹也是我安装 gsl pkg 的位置
该
-c
开关告诉 gcc 将源代码编译为二进制目标代码,但不链接它以创建可执行程序:您首先需要删除它:然后您可能会发现有很多
undefined reference to ...
错误,因为您没有在命令行上指定要链接的相关库。(头文件只声明事物;库定义它们)。如果你已经安装gsl
在一个标准位置,比如/usr/local
,那么它应该已经放置了一个.pc
文件/usr/local/lib/pkgconfig/
,允许你使用pkg-config
ex 自动指定库的规范。(注意参数的顺序:引用从左到右解析)。您可能也可以
pkg-config
用来定位头文件,即