首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要协助通过终端编译和运行gcc(gsl)程序

需要协助通过终端编译和运行gcc(gsl)程序
EN

Ask Ubuntu用户
提问于 2019-07-02 14:53:27
回答 1查看 114关注 0票数 1

在ubuntu 18.04上安装了GSL2.5。

尝试使用以下方法编译和运行sample_matrix.c脚本

gcc -Wall -I/usr/local/包括-c sample_matrix.c

成功运行;进一步显示输出,

$./a.

给出错误:

bash:./a.out:没有这样的文件或目录

我目前在名为“gsl”的文件夹中保存sample_matrix.c文件,这个文件夹也是我安装gsl pkg的地方。

屏幕截图gsl文件夹中的列表

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2019-07-02 22:26:24

-c开关告诉gcc将源代码编译为二进制目标代码,但不链接它以创建可执行程序:您首先需要删除:

代码语言:javascript
复制
gcc -Wall -I/usr/local/include sample_matrix.c

然后您可能会发现有很多undefined reference to ...错误,因为您还没有指定要在命令行上链接的相关库。(头文件只声明事物;库定义它们)。如果您已经将gsl安装在像/usr/local这样的标准位置,那么它应该在/usr/local/lib/pkgconfig/中放置一个.pc文件,该文件将允许您使用pkg-config ex自动化库的规范。

代码语言:javascript
复制
gcc -Wall -I/usr/local/include sample_matrix.c `pkg-config --libs gsl`

(注意参数的顺序:引用从左到右解析)。您也可以使用pkg-config来定位头文件。

代码语言:javascript
复制
gcc -Wall sample_matrix.c `pkg-config --cflags --libs gsl`
票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1155491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档