配置VS code在C语言中调用gsl库文件

gsl安装

sudo apt-get install libgsl0-dev

先确认gsl库,gcc都已正确安装,命令行

gcc -L/usr/local/lib hello.c -o hello -lgsl -lgslcblas -lm

没有错误则可以配置VS code

需要配置以下两处:

tasks.json要配置args字段

launch.json要配置environment字段

tasks.json

{
"version": "2.0.0",
"tasks": [
{ "type": "shell",
"label": "C/C++: g++ build active file",
"command": "/usr/bin/g++",
"args": [
"-g",
"${file}",
"-L/usr/local/lib",
"-lgsl", "-lgslcblas", "-lm",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],

launch.json

    "cwd": "${workspaceFolder}",
"environment": [
{
"name": "LD_LIBRARY_PATH",
"value": "/usr/local/lib",
}

主文件hello.c编译链接成功

#include<stdio.h>
#include<gsl/gsl_sf_bessel.h> int main()
{
double x1 = 5.0;
double y1 = gsl_sf_bessel_J0(x1);
printf("J0(%g) = %.18e\n", x1, y1); return 0;
}

测试环境: Ubuntu 18.04.4 LTS

配置VS Code链接外部gsl库文件的更多相关文章

  1. 程序中引入库文件的头文件 编译时并不需要显示的用gcc去链接他的库文件 why?

    拿一个苹果系统下的c文件为例: testArr.c #include <stdio.h> int main() { , , , , }; printf(]); } 当我们编译的时候  一般 ...

  2. html 链接外部css js文件

    <link rel="stylesheet" type="text/css" href/style.css" />    <scri ...

  3. LabWindows/CVI入门之第四章:库文件(转)

    按语: 在参考CVI参考书使用CVI生成动态库后,在另一工程中调用DLL ,编译通不过,后参考此文,豁然开朗. http://blog.sina.com.cn/s/blog_6373e9e60101b ...

  4. .h头文件 .lib库文件 .dll动态库文件之间的关系

    .h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的. 附加依赖项的是.lib不是.dll,若生成了DLL,则肯定也生成 LIB文件.如果要完成源代码的编译和链接,有头文件和lib就够 ...

  5. .h(头文件) .lib(库文件) .dll(动态链接库文件) 之间的关系和作用的区分

    .h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的.附加依赖项的是.lib不是.dll,若生成了DLL,则肯定也生成 LIB文件.如果要完成源代码的编译和链接,有头文件和lib就够了 ...

  6. Qt 添加外部库文件(四种方法)

    Qt添加外部库文件, 一种就是直接加库文件的绝对路劲,这种方法简单,但是遇到多个库文件的时候,会很麻烦,而且,如果工程移动位置以后还需要重新配置 另一种就是相对路径了,不过Qt 编译的文件会在一个单独 ...

  7. win10下VS2017配置GSL库

    GSL库:GNU Scientific Library 1.  下载:下载Complete package, except sources和Sources两个exe文件 2.  安装:将两个exe安装 ...

  8. 《CMake实践》笔记三:构建静态库(.a) 与 动态库(.so) 及 如何使用外部共享库和头文件

    <CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...

  9. 四轴飞行器1.2.3 STM32F407时钟配置和升级标准库文件

    原创文章,欢迎转载,转载请注明出处 这个星期进度比较慢哈,只有周末和晚上下班回来才能做,事件不连续,琐碎的事情又比较多,挺烦的,有多琐碎呢?           1.本人有点小强迫症哈,虽然RTT将文 ...

  10. LINUX下C语言编程调用函数、链接头文件以及库文件

    LINUX下C语言编程经常需要链接其他函数,而其他函数一般都放在另外.c文件中,或者打包放在一个库文件里面,我需要在main函数中调用这些函数,主要有如下几种方法: 1.当需要调用函数的个数比较少时, ...

随机推荐

  1. Slf4j+log4j日志使用

    适用于Maven项目 1.依赖 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j- ...

  2. [代码审计基础 14]某cms变量覆盖到N处漏洞

    PHP:5.4.5 设置调试:https://blog.csdn.net/m0_46641521/article/details/120107786 PHPCMS变量覆盖到SQL注入 0x01:路由分 ...

  3. Vulhub 漏洞学习之:Couchdb

    Vulhub 漏洞学习之:Couchdb 目录 Vulhub 漏洞学习之:Couchdb 1 Couchdb 垂直权限绕过漏洞(CVE-2017-12635) 1.1 漏洞利用过程 2 Couchdb ...

  4. CCRD_TOC_2007_EULAR专辑_1

    中信国健临床通讯 EULAR 2007专辑I 目 录 类风湿关节炎 1 TEMPO 研究第一年影像学数据显示:骨侵蚀修复 (repair) 几乎只出现在无关节肿胀或肿胀改善组 van der Heij ...

  5. Yapi安装配置(CentOs)

    环境要求 nodejs(7.6+) mongodb(2.6+) git 准备工作 清除yum命令缓存 sudo yum clean all 卸载低版本nodejs yum remove nodejs ...

  6. el-input只能输入数字和小数

    1.oninput ="value=value.replace(/[^\d]/g,'')" //只能输入数字 2.oninput ="value=value.replac ...

  7. Flutter:StatefulWidget 怎么传参

    定义好一个有状态(或无状态)的组件之后,需要为其传递一些参数,希望组件能够更加灵活使用.那么,在 Flutter 中如何为其传递参数呢? 以下是 StatefulWidget 传递值的步骤,一共三步: ...

  8. Mars3D与第三方集成

    1. 引言 Mars3D是基于Cesium的Web端的三维GIS库,对Cesium做了进一步封装和扩展 Mars3D官网:Mars3D三维可视化平台 | 火星科技 Mars3D开发手册:开发教程 - ...

  9. ISE_14.7_Windows10安装

    直接下载安装会报如下错误: There was an unexpected error executing Import ISE Virtual Appliance 解决方案 1.阅读xilinx手册 ...

  10. 制造业常用KPI

    1.  质量KPI CA (Capability of Accuracy): 平均值距离期望中心值的距离,值越大,说明平均值越接近期望中心值. Ca=(X-U)/(T/2) CP (Capabilit ...