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

so 封装 tuxedo,引用api的时候提示重定向错误。

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

    本文导语:  我最近在封装一个 so,开发环境是  sun solaris ,用c++ 把 tuxedo的 一个功能 封装起来。 但是 却遇到了重定向问题: 开发环境是:otaadmin@otas1> gcc -v Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.6/specs Con...

我最近在封装一个 so,开发环境是  sun solaris ,用c++
把 tuxedo的 一个功能 封装起来。 但是 却遇到了重定向问题:

开发环境是:otaadmin@otas1> gcc -v
Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.6/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-shared --enable-

languages=c,c++,f77
Thread model: posix
gcc version 3.4.6
otaadmin@otas1> uname -a
SunOS otas1 5.9 Generic_117171-10 sun4u sparc SUNW,Sun-Fire-480R

so的代码是://----------------------------------------------------------
bool Init(char* szServerIP,char* szPort)
{
int nRet = 0;
if(m_tuxedoOpen)
        return true;
else
{
  char szConn[200];
  memset(szConn,0,200);
sprintf(szConn,"WSNADDR=//%s:%s",szServerIP,szPort);
tuxputenv(szConn);     //此处出现了调用函数重定向错误
tpinitbuf = (TPINIT *)tpalloc("TPINIT", NULL, TPINITNEED(0));
tpinitbuf->flags = TPMULTICONTEXTS;
static int init_times=0;

try
{
if (tpinit(tpinitbuf) == -1)
{
}
else
init_times = 0;


}
catch (...)
{
printf("rntuxedo_init errorrn");
return false;
}

m_tuxedoOpen = true;
return true;
}
}
//----------------------------------------------------------
我自己写了个   调用这个so的程序,程序名称是 testdemo,在程序运行到  tuxputenv(szConn);  这个函数的时候  出现了问题。

ld.so.1: ./testdemo: 致命的: 重定位错误: 文件/opt/TecomOTA/ota2/test/dipatch/patchdll.so: 符号tuxputenv: 参照的符号没有找到


我现在不知道,该怎么解决这个事情,只知道 ,g++ 封装so的时候 有好多  函数的名字都会被改的。那么,tuxputenv 这个函数 其实是 

tuxedo的api,怎么也会有这个问题呢。奇怪了。请大侠们帮忙看看。给点提示。

|
那就比较奇怪了。

|
路径,或者 参数,或者 动态库放置在哪里错了。

|
使用ldd看看需要哪些动态库,然后确保每个动态库都存在。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ticpp(TinyXML++)TinyXML的C++封装介绍
  • 封装libxml2,那位有经验,请进
  • php通过pack和unpack函数实现对二进制数据封装及解析
  • 函数库封装问题!谢谢了
  • IP报文头的重新封装
  • Linux下的JNI封装 jniexec
  • OpenCL 封装库 CLOGS
  • ALSA库的C++封装 aseqmm
  • PHP的Session封装 Zebra_Session
  • Properties 文件封装库 OWNER
  • DirectX 的封装库 SharpDX
  • Xlib函数调用的封装 GDK
  • AMR-WB封装库 amrwb
  • VC的数据库访问封装库 exdb
  • readline 封装程序 rlwrap
  • AMR封装库 amrnb
  • Windows API 的封装包 WE
  • OpenGL的C++封装 D'Enfent Engine
  • Windows组件封装接口 STLSoft
  • WebKit的QT封装 QtWebKit
  • PHP的SQL封装脚本 TbsSQL


  • 站内导航:


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

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

    浙ICP备11055608号-3