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

请教在solaris下,一动态库*.so动态链接多个静态库*.a时链接不正确

    来源: 互联网  发布时间:2016-04-06

    本文导语:    在solaris下,类有3层继承关系:Base->Child->Child1,其中Base是抽象类,把Child.cpp和Child1.cpp这2个子类编译成一个静态库libbasechild.a, 然后在一动态库bcProcess.so中链接这个静态库libbasechild.a,使用ldd -r bcProcess.so查看,发...

  在solaris下,类有3层继承关系:Base->Child->Child1,其中Base是抽象类,把Child.cpp和Child1.cpp这2个子类编译成一个静态库libbasechild.a, 然后在一动态库bcProcess.so中链接这个静态库libbasechild.a,使用ldd -r bcProcess.so查看,发现能正确链接:
$ ldd -r  bcProcess.so
        libstdc++.so.5 =>        /usr/local/lib/libstdc++.so.5
        libpthread.so.1 =>       /usr/lib/libpthread.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libm.so.1 =>     /usr/lib/libm.so.1
        libc.so.1 =>     /usr/lib/libc.so.1
        libgcc_s.so.1 =>         /usr/local/lib/libgcc_s.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        symbol not found: main          (./bcProcess.so)
        /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
        libthread.so.1 =>        /usr/lib/libthread.so.1

  而把Child.cpp和Child1.cpp分别编译成2个静态库libbase.a和libchild.a, 然后在一动态库cProcess.so中链接这2个静态库,使用ldd -r bcProcess.so查看,发现链接不正确:
$ ldd -r cProcess.so
        libstdc++.so.5 =>        /usr/local/lib/libstdc++.so.5
        libpthread.so.1 =>       /usr/lib/libpthread.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libm.so.1 =>     /usr/lib/libm.so.1
        libc.so.1 =>     /usr/lib/libc.so.1
        libgcc_s.so.1 =>         /usr/local/lib/libgcc_s.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        symbol not found: main          (./cProcess.so)
        /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
        symbol not found: _ZN5Child4testEv              (./cProcess.so)
        symbol not found: _ZTI5Child            (./cProcess.so)
        symbol not found: _ZN5ChildC2Ev         (./cProcess.so)
        symbol not found: _ZN5ChildD2Ev         (./cProcess.so)
        libthread.so.1 =>        /usr/lib/libthread.so.1

环境:
SunOS sun 5.9 Generic_118558-06 sun4u sparc SUNW,Ultra-60
不知道为什么分别放在2个静态库中就链接不正确,是不是Makefile选项问题还是别的?
目前是希望能放在2个静态库中能正确链接,源文件及Makefile如下,好几天都没搞出头绪,诚心请教大家帮忙,非常谢谢!!!



Base.h:

#ifndef _BASE_H_
#define _BASE_H_

#include 
using namespace std;

class Base
{
public:
Base()
{
cout 

    
 
 

您可能感兴趣的文章:

  • 请教关于动态链接库的问题
  • 请教高手!如何在bean中引入链接池?谢谢!
  • 请教高手!急!如何用java程序在链接中打开excel或word文档
  • 请教有关Linux动态链接库的问题
  • 请教linux9。0中使用动态链接库的问题
  • 请教!net-snmp里面怎么挂载自己定义的动态链接库
  • 请教各位,不知道/boot/下的System.map 和vmlinuz链接文件有什么用?!
  • 高分请教个链接错误!!!
  • 请教一个C链接MYSQl的问题,辣手
  • 【伸手党】请教如何删除当前路径下的所有软链接文件!不用递归。当前路径。
  • 请教一个软链接的问题
  • 100分请教u-boot.lds链接脚本的问题
  • 请教关于ld链接器的使用?
  • 请教 ld(链接器)的用法
  • 请教sed awk的用法详解,有命令说明的链接也不错,谢谢了
  • 请教大家一个关于linux下动态链接库的问题?
  • 请教如何生成包含动态链接的静态库文件
  • 请教:LINUX 如何将多个文件碎片链接成一个完整文件,而不是再拷贝一份数据~
  • 请教一段链接脚本
  • 请教loadrunner脚本运行后,Linux服务器上很多CLOSE_WAIT状态链接.
  • 【急】动态库问题请教
  • 请教一下Linux的动态库加载方式(是启动加载还是运行加载?)
  • 请教,如何动态创建组件对象。送分!
  • 请教:动态显示网络状态的命令是什么?
  • 请教关于dlopen,动态库连接程序的输出函数
  • [请教]如何使用openssl的动态库
  • 请教个问题,动态打印日志文件
  • 请教:linux的驱动程序如何调用动态连接库?
  • 请教在linux中如何动态的增加一个系统调用(模块中)
  • 请教:某产品针对不同发行版之间的动态库是否通用?
  • 请教动态编译问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教:(static)静态变量和静态方法是什么意思?
  • 请教一个使用静态库的问题
  • 请教一个gcc静态编译的问题。
  • 请教:java中如何调用linux下的静态连接库.a文件?
  • 请教:java中如何调用linux下的静态连接库.a文件?
  • 请教:java中如何调用linux下的静态连接库.a文件?
  • To masterz():本人愚笨,向你再请教一个问题 在静态上下文中不能引用非静态变量 this
  • 请教一个直接使用libxml2静态库的问题
  • 请教一个静态编译问题
  • 请教静态映射问题若干!
  • linux新手请教静态加载gpio驱动的问题
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 编程技术其它 iis7站长之家
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教这种循环的执行过程
  • 请教两个redhat9问题
  • 请教如何在指定目录下查找包含指定文字的文件
  • 请教局域网中如何通过ip地址得到主机名
  • 请教kdevelop的问题
  • 请教linux 下的adsl拨号问题.
  • 请教,如何用虚拟订机安装liux
  • 【请教】LINUX 下SNMP的MIB开发
  • 请教一个opengl的问题


  • 站内导航:


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

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

    浙ICP备11055608号-3