eclipse添加和生成动态链接库文件

实践摘取:

eclipse中测试代码:

#include"json/json.h"

#include<iostream>
#include<string>

int main()
{
    Json::Value arrayObj;   // 构建对象
    Json::Value new_item, new_item1;
    new_item["date"] = "2011-12-28";
    new_item1["time"] = "22:30:36";
    arrayObj.append(new_item);  // 插入数组成员
    arrayObj.append(new_item1); // 插入数组成员

    std::string out = arrayObj.toStyledString();
    return 1;
}

资料参考:

linux下eclipse添加链接库

分类: Linux下编译器使用 398人阅读 评论(0) 收藏 举报

 

Linux中也有类似windows中DLL的变成方法,只不过名称不同而已。在Linux中,动态链接叫做Standard Object,生成的动态链接文件为*.so。详细请参考相关文档。

开发环境:Eclipse 3.4.2

G++:4.3.2

1. 创建动态链接库

(1)在Eclipse中创建新的C++工程

File->New->Project->C++->C++ Project,选择Shared Library。

(2)创建源代码文件

File->New->Source File,指定名称为shared.cc

(3)编写源码

  1.      
  2. #include <iostream>     
  3. using namespace std;    
  4. void show()     
  5. {     
  6.     cout << "Shared Library." << endl;    
  7. }     

编译之后将在工程目录下生成一个libshared.so文件,这就是我们要用的动态链接库文件

2. 调用动态链接库文件

(1)创建C++工程,选择Executable类型工程

(2)添加Source File,并编写源码

  1. //============================================================================    
  2. // Name        : Import.cpp    
  3. // Author      : Fify    
  4. // Version     :    
  5. // Copyright   : Fify copyleft    
  6. // Description : Hello World in C++, Ansi-style    
  7. //============================================================================    
  8. #include <iostream>     
  9. using namespace std;    
  10. void show();     
  11. int main()     
  12. {     
  13.     show();     
  14.     return 0;    
  15. }     

(3)设置导入动态库

Project->Properties->C/C++ Build->Settings->Tool Settings->GCC C++ Linker->Libraries

添加Libraries (-l): shared

添加Library search path (-L): {刚才编译生成的*.so文件路径}

(4)编译该项目

3. 运行含动态链接库的程序

点击运行,会出现以下错误:error while loading shared libraries: libShared.so: cannot open shared object file: No such file or directory ,因为系统无法从默认位置找到动态链接库文件。修改系统默认搜索链接库的路径,程序即可顺利执行,

方法 (在ubuntu下: sudo ldconfig <放so文件的目录>)

输出:

Shared Library.





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值