专栏首页m0w3nEclipse C++配置静态链接库和动态链接库

Eclipse C++配置静态链接库和动态链接库

转:https://blog.csdn.net/iteye_20658/article/details/82650699

1.动态库:  一、创建动态链接库1、创建工程new->project->c++ project选择Shared Library->Empty Project.输入工程名a,点击finish,完成工程的创建。

  2、编写代码在windows下封装动态链接库时对要封的函数要用__declspec(dllexport)来标明,在linux下不用,在linux下只需要直接把要封的函数的声明放到一个。h文件中,要用这个库时将相应的。h文件加载到工程中。

  3、生成动态链接库编译代码,成功后在Debug目录下会生成liba.so文件。

  二、动态链接库的使用1、创建工程new->c++ project->Executable->Empty Project.工程名为libr 2、编写所需代码,并将相应的。h文件放到工程目录下并加载到工程中。

  3、加入动态链接库liba.so右键工程Properites->C/C++ Build->Settings,然后如下图

  注意最右边,库的名称liba.so变为a,库的路径就写这个库所在的路径。

注意:-lpthread -ldl等也要在此添加,只不过不需要添加路径

  4、修改环境变量。

   以上均做正确的话编译链接是能通过的,但是在运行时会报错error while loading shared libraries: libShared.so: cannot open shared object file: No such file or directory ,这时需要修改环境变量。在工程处右键,Run As->Run Configurations,选择Environment,如下图:

  新加一个环境变量,名称必需是 LD_LIBRARY_PATH,值为动态链接库所在的路径。

  以上就完成了linux下生成动态链接库和使用动态链接库。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.静态库 因为要静态链接到正则表达式的库,所以如下图所示,设置对应的*.a文件路径到eclipse,以使链接器能够找到它。

编译通过! 为了我们的程序能够正确载入,我们需要让我们的程序在我们的系统范围内也能够找到我们的库。这时候我们需要在设置一下。详见这部分的相关介绍。 测试程序!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 树莓派安装raspbian并配置开发环境

    首先准备好我们要烧录的raspbian系统,可以在树莓派官网中下载https://www.raspberrypi.org/downloads/

    墨文
  • C语言与汇编的嵌入式编程:统计字符串中各字符出现的次数

    墨文
  • 树莓派raspbian安装matchbox-keyboard虚拟键盘

    官网安装地址:http://ozzmaker.com/virtual-keyboard-for-the-raspberry-pi/

    墨文
  • Python:解析PDF文本及表格——pdfminer、tabula、pdfplumber 的用法及对比

    pdfminer3k 是 pdfminer 的 python3 版本,主要用于读取 pdf 中的文本。

    丹枫无迹
  • 探索c#之递归APS和CPS

    蘑菇先生
  • 腾讯云TStack 开源解决方案通过可信云认证

    腾讯云TStack
  • 厚土Go学习笔记 | 35. web服务器实现动态路径

    有时候,我们希望给不同的用户有不同的服务路径。抛开那些高大上和深层次的原因,最浅显的,可以让用户觉得自己挺受重视。路径名称最好就是用户有关的字符串。我们这次以用...

    李海彬
  • py 决策树①

    它总是在沿着特征做切分。随着层层递进,这个划分会越来越细。虽然生成的树不容易给用户看,但是数据分析的时候,通过观察树的上层结构,能够对分类器的核心思路有一个直观...

    用户1359560
  • 厚土Go学习笔记 | 35. web服务器实现动态路径

    有时候,我们希望给不同的用户有不同的服务路径。抛开那些高大上和深层次的原因,最浅显的,可以让用户觉得自己挺受重视。路径名称最好就是用户有关的字符串。我们这次以用...

    李海彬
  • jQuery小练习

    小闫同学啊

扫码关注云+社区

领取腾讯云代金券