linux 环境下的 eclipse 怎么生成动态链接库文件(.so)

强脚的花 2015-02-13 02:06:37
比如我想生成一个实现加法功能的导出函数int Add(int a,int b);
我先在eclipse生成一个新的C++ Project
在Project type:选择Shared Library,项目名称 Add
头文件Add.h

#ifndef ADD_H
#define ADD_H
int Add(int a,int b);
#endif

源文件Add.cpp

include "Add.h"
int Add(int a,int b)
{
return a+b;
}


编译可以生成一个Add.so文件

但是我在test项目中引用这个so文件总是报错 undefined reference to "Add(int ,int)"
我是这样引用的


...全文
397 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
王明威 2015-02-14
  • 打赏
  • 举报
回复
在创建工程的时候,可以选择专门制作动态库的工程,
zhxianbin 2015-02-13
  • 打赏
  • 举报
回复
引用 3 楼 u010306834 的回复:
[quote=引用 1 楼 zhxianbin 的回复:] Add.so 改成 libadd.so,调用这个库的项目中用 -L《libadd.so路径》-ladd
库名字可以直接改的么?[/quote] 可以
强脚的花 2015-02-13
  • 打赏
  • 举报
回复
引用 1 楼 zhxianbin 的回复:
Add.so 改成 libadd.so,调用这个库的项目中用 -L《libadd.so路径》-ladd
库名字可以直接改的么?
m筱米 2015-02-13
  • 打赏
  • 举报
回复
LZ用eclipse开发c++程序? 额……孤陋寡闻了,第一次见到。 linux下编译成so,可以这样的吧: g++ -fPIC -shared -o add.so Add.cpp 用eclipse这样的IDE工具,还真没用过。
zhxianbin 2015-02-13
  • 打赏
  • 举报
回复
Add.so 改成 libadd.so,调用这个库的项目中用 -L《libadd.so路径》-ladd

23,124

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧