zoukankan      html  css  js  c++  java
  • 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,以使链接器能够找到它。


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

  • 相关阅读:
    从goauth2的一个bug说起
    Vagrant与skynet框架
    离开博客园了
    (转) Android开发性能优化简介
    ListFragment源码 (待分析)
    Activity来了
    Android下的屏幕适配
    恶心的content
    Android下的xml资源详解
    各个页面样子的实现与演示
  • 原文地址:https://www.cnblogs.com/little-kwy/p/12300612.html
Copyright © 2011-2022 走看看