`
myten
  • 浏览: 134394 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

 
阅读更多
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,以使链接器能够找到它。
eclipse下使用动态库、静态库相应的配置 - chek liang - chek liang

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

相关推荐

    windows下用eclipse编译live555的动态链接库

    在Windows环境下,使用Eclipse编译Live555动态链接库(DLL)是一个涉及多个步骤的过程,主要包括环境配置、项目创建、源代码导入、编译选项设置以及最终的DLL和LIB文件生成。以下是对这个过程的详细说明: 首先,你...

    eclipse for c/c++

    用户可以创建不同类型的工程,如动态链接库、静态库或可执行文件,并且可以方便地管理源文件、头文件和资源。 5. **版本控制**: Eclipse 对多种版本控制系统有良好的集成,如 Git、SVN 和 CVS,使得团队协作变得...

    哈工大 LTP java动态链接库 64位可用

    在这个场景下,Java开发者首先需要在Eclipse中创建一个Java项目,然后使用JNI生成对应的C/C++头文件,接着编写对应的C/C++代码,利用这些动态链接库完成特定的自然语言处理任务。最后,将编译好的C/C++代码与Java...

    libmosquittopp 静态库

    **libmosquittopp** 静态库的使用意味着开发人员可以在编译时将库的代码与应用程序的代码链接在一起,形成一个单一的可执行文件,无需在运行时依赖外部动态库。这在某些情况下是必要的,比如嵌入式系统或者对安全性...

    哈工大 LTP java动态链接库 64位的可用

    .lib文件是静态链接库,主要用于编译期间链接,而.dll文件是动态链接库,运行时加载。.exp文件是出口表,记录了库对外提供的函数和数据,用于链接器生成最终的可执行文件。 1. .lib文件:在Java中,通过JNI调用C/...

    eclipse-cpp-2023-09-R-win32-x86-64.zip

    4. **构建系统**:Eclipse C++ IDE集成了Makefile工具,可以自动编译和链接源代码,生成可执行文件。同时,通过CDT,它可以与各种构建系统(如CMake、Autotools)无缝配合,满足不同项目需求。 5. **调试工具**:...

    linux下动态库开发调用

    本示例通过Eclipse展示了Linux下C++动态库的开发与调用过程,包括静态和动态链接两种方式。了解这些知识有助于理解Linux程序的运行机制,并且对于进行跨平台开发、减少代码重复和便于升级具有重要意义。实践中要注意...

    哈工大LTP java动态链接库 64位可用

    哈工大语言技术平台...总之,这个压缩包提供的64位哈工大LTP Java动态链接库是Java开发者在64位系统上利用LTP进行自然语言处理的重要资源,通过正确的配置和使用,可以极大地丰富和提升Java应用的自然语言处理能力。

    eclipse_cpp

    4. **项目管理**:Eclipse 提供了强大的项目管理工具,可以创建各种类型的C/C++项目,包括静态库、动态库、可执行文件等。同时,它还支持版本控制系统如Git,方便团队协作。 5. **插件扩展**:Eclipse 是基于插件的...

    C,C++编译环境搭建

    库是预编译的二进制文件集合,用于链接到其他程序中,分为静态链接库和动态链接库。它们的管理和使用是C/C++项目构建中的重要环节: - **静态链接库**:如`.a`或`.lib`文件,包含库函数的实现,在链接阶段需指定...

    Eclipse C 连接 mysql

    5. **生成库文件**:在Windows环境下,如果你使用的是动态链接库(DLL),可能需要生成`.def`文件和导入库(`.lib`)。这可以通过工具如`pexports.exe`和`dlltool.exe`完成,这两个工具可以帮助你从动态库中导出函数...

    Windows环境下MinGW编译完成Paho C/C++

    2. 编译完成后,Paho库的静态和动态库文件(如libpaho-mqtt3c.a和libpaho-mqtt3cs.dll)会出现在相应的目标目录下。这些库文件可以链接到你的C/C++项目中。 3. 若要创建一个简单的示例程序,例如,使用Paho C++库...

    sqlite3编译通过的多文件eclipse工程

    3. **设置编译选项**:在Eclipse的项目属性中,配置编译器路径、链接器路径以及所需的库。对于tdm-gcc,可能需要设置`-lws2_32`等链接选项以支持Windows系统。 4. **配置构建步骤**:定义构建规则,确保在编译时...

    《把脉c++》

    包括静态分析、动态跟踪等方法。 - **原型(Prototype)**: 构建软件的一个初步版本,用于快速展示核心功能,便于用户反馈。 - **重构(Refactor)**: 改进现有代码结构而不改变其外部行为的过程,旨在提高代码质量...

    OpenGL的常用配置文件

    3. **GLAUX.LIB**:这是一个静态链接库文件,用于链接到Gluaux库。在编译程序时,需要指定这个库才能使用Gluaux的功能。不过,在某些现代编译环境中,更倾向于使用动态链接库(如glaux.dll)。 4. **OpenGL.zip**:...

    Eclipse中常见图标说明

    - **Native library location**:本地库位置,用于C/C++等本地库的链接。 - **Output folder**:编译输出的目录,通常为.class文件。 5. **Code Assist**: - **HTML tag**,**Javadoc tag**:代码提示中的HTML...

    C++Build PPT

    1. **环境配置**:安装C++编译器,如GCC(GNU Compiler Collection)或MSVC(Microsoft Visual C++),同时可能还需要集成开发环境(IDE),例如Visual Studio、Code::Blocks或Eclipse等。 2. **源代码编辑**:使用...

    C和C++嵌入式系統編程

    2. 静态和动态链接:嵌入式系统往往需要静态链接库以减小代码体积,C语言支持这种编译方式。 3. 轻量级:C语言的语法简洁,编译后的代码体积小,适合运行在资源受限的设备上。 4. 系统级编程:C语言能编写操作系统...

    c++修改工程名字

    - 如果工程包含动态库或静态库,别忘了更新相应的编译和链接设置。 - 对于跨平台的项目,需要在所有支持的平台上重复这些步骤。 - 有时可能需要清理项目构建缓存,以避免旧版本的文件被编译。 总之,修改C++工程名...

    Eclipse下的Android-NDK安装实操

    4. 使用NDK的`ndk-build`脚本来编译本地代码,生成.so动态链接库。 5. 在Java代码中使用`System.loadLibrary()`加载生成的.so库,通过JNI接口调用本地方法。 NDK提供的API主要用于以下几个高性能领域: - 【OpenGL...

Global site tag (gtag.js) - Google Analytics