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

来源:互联网 发布:湖北快三数据 编辑:程序博客网 时间:2024/04/30 18:47

实践摘取:

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)收藏举报

 

(转载地址http://blog.sina.com.cn/s/blog_554240170100u8sr.html)
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)编写源码

view plaincopy to clipboardprint?
[cpp] view plaincopyprint?
  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,并编写源码

view plaincopy to clipboardprint?
[cpp] view plaincopyprint?
  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.