当前位置:  技术问答>linux和unix

200分,求Linux编译成带导出类的动态库

    来源: 互联网  发布时间:2015-06-05

    本文导语:  请高手指点,如何生成类似于VC中生成一个Lib和一个DLL的动态库。 因为我提供的动态库必须使用导出类,来做为调用者使用接口。 急盼回复!!! 请帮忙把我的头文件和makefile,改好了,我立即给分,谢谢!! #ifd...

请高手指点,如何生成类似于VC中生成一个Lib和一个DLL的动态库。
因为我提供的动态库必须使用导出类,来做为调用者使用接口。

急盼回复!!!

请帮忙把我的头文件和makefile,改好了,我立即给分,谢谢!!

#ifdef BLOCK_EXPORTS
#define BLOCK_API __declspec(dllexport)
#else
#define BLOCK_API __declspec(dllimport)
#endif


class BLOCK_API CBlock
{
protected:
CBlock();
virtual ~CBlock();
};


#======================Makefile for Server=====================
#======================Path Define=============================
SERVER          = $(HOME)/IEngine
SERVER_BIN      = $(SERVER)/bin
SERVER_SOURCE   = $(SERVER)/source
SERVER_INCLUDE  = $(SERVER)/include
SERVER_OBJ      = $(SERVER)/obj
SERVER_MAKE     = $(SERVER)/make
SERVER_CONFIG   = $(SERVER)/config
SERVER_DEBUG = $(SERVER)/debug


CC              = g++
#Debug版本的开关
CFLAGS          = -g
# Release 版的开关
#CFLAGS = -O3
# Debug版本
MYFLAGS         = -D_DEBUG
#Release 版本
#MYFLAGS         = 
COMPILE         = $(CC) $(CFLAGS) $(MYFLAGS) -c -fpic -I$(SERVER_INCLUDE)
TARGET0         = $(SERVER_BIN)/block.so


#LIBRARYS        = -lpthread -ldl -lmpatrol -lbfd -liberty
LIBRARYS        = -lpthread -ldl

#==============================================================

OBJECTS0        = $(SERVER_OBJ)/Block.o 
                  $(SERVER_OBJ)/BlockData.o 
                  $(SERVER_OBJ)/BufferBlock.o 
  $(SERVER_OBJ)/Counter.o 
  $(SERVER_OBJ)/Instance.o 
  $(SERVER_OBJ)/Interface.o 
  $(SERVER_OBJ)/IRichBase.o 
                  $(SERVER_OBJ)/Library.o 
                  $(SERVER_OBJ)/Method.o 
                  $(SERVER_OBJ)/Module.o 
                  $(SERVER_OBJ)/ObjectBlock.o 
  $(SERVER_OBJ)/Richmap.o 
  $(SERVER_OBJ)/SubBlock.o 


all : $(TARGET0)

$(TARGET0) : $(OBJECTS0)
$(CC) -shared -lc -o $(TARGET0) $(OBJECTS0) $(LIBRARYS)

$(SERVER_OBJ)/%.o : $(SERVER_SOURCE)/%.cpp
$(COMPILE) -o $@ $

    
 
 

您可能感兴趣的文章:

  • Linux中的共享库难道只能导出函数,而不能导出C++类吗?
  • 请问,如何在linux的库中象导出函数一样导出类?
  • 在Linux库中, 如何禁止导出函数?
  • linux下如何导出设备数据?
  • firefox安装的证书如何导出 linux环境
  • 关于linux下动态链接库导出函数的问题。
  • linux环境下oracle条件导出数据的shell脚本怎么写
  • linux下,使用openssl的des加密,密钥如何导出?
  • linux 下怎样把函数结果导出到excel
  • linux下如何导出.txt文件?
  • 请问linux下如何看一个动态库中包含那些导出函数?
  • linux下动态库中如何导出对象进行使用
  • Linux系统下导出ORACLE数据库出现Exporting questionable statistics.错误 处理
  • 如何用dd导出linux引导扇区???
  • Linux环境中Oracle数据导入与导出备份操作
  • linux里top导出结果是乱码
  • 100分,求Linux编译成带导出类的动态库
  • 怎样截获linux内核导出的函数?
  • linux/centos源码安装nginx编译配置选项参数介绍
  • 嵌入式linux开发:一段代码在windows平台用VC编译运行正常,在linux平台用gcc编译运行正常,但是用arm-linux-gcc编译在嵌入式板子上运行就不正常.
  • linux 64位编译出错。linux 32位可以编译过。
  • 关于在linux交叉编译powerpc-e300c3-linux-gcc的编译问题
  • Linux下gcc编译时,如何以静态链接的形式编译?
  • linux下有没有能编译出16bit代码的C语言编译器?
  • 现要在一台Pentium100上安装LINUX操作系统,能不能不选用别的品牌的LINUX,而直接用内核编译,然后再加上编译器和SHELL等等其它东西?如
  • linux下可以编译c但是如何编译c++
  • arm-linux-gcc交叉编译出错,但gcc编译没错,什么原因呢???
  • 谁编译过PLX9054 Linux的驱动程序,我给100分教我编译和安装??
  • 何处有 Linux 内核编译配置详细的中文介绍? 我在重新配置编译时老是出错:-(
  • 想问一下,编译LINUX内核时,是否可以只编译其中的一个模块?
  • 在linux下用proc编译程序,'*.pc'文件编译后成了'*.c?',多了一个问号?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • linux能否成为动态域名解析客户端的动态域名解析服务器?
  • Linux下c函数dlopen实现加载动态库so文件代码举例
  • 谁编译过PLX9054 Linux的驱动程序,我给100分教我编译和安装?? iis7站长之家
  • Linux下,怎么确定动态库的绝对位置(动态库里面确定)?
  • linux动态路由问题
  • 在linux下(c++),如何动态调用 动态库(.so)? 为什么我编译报错:undefined reference to "dlopen"
  • linux能否使用*.DLL型动态链接库
  • Linux 动态库,静态库的一些疑惑
  • 最菜的问题—关于linux“动态库”的问题
  • linux下链接一个动态库后原有程序不能正常运行
  • Linux动态库编译问题
  • linux下获取动态库的加载路径
  • linux下动态链接库函数找不到
  • 请教一下Linux的动态库加载方式(是启动加载还是运行加载?)
  • linux下怎么设置调用的动态库的路径
  • 请问在linux下制作动态库应该注意些什么(欢迎大家讨论)
  • 送分.......linux下动态库和静态库的后缀名是什么呢?
  • 请问unix/linux下动态连接库和静态连接库有什么区别?
  • linux下的动态库。
  • 用GTK开发的程序如何在没有GTK动态连接库的Linux里运行?
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3