免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3214 | 回复: 0
打印 上一主题 下一主题

so 封装 tuxedo,引用api的时候提示重定向错误。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-27 13:31 |只看该作者 |倒序浏览
我最近在封装一个 so,开发环境是  sun solaris ,用c++\r\n把 tuxedo的 一个功能 封装起来。 但是 却遇到了重定向问题:\r\n\r\n开发环境是:\r\notaadmin@otas1> gcc -v\r\nReading specs from /usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.6/specs\r\nConfigured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-shared --enable-\r\n\r\nlanguages=c,c++,f77\r\nThread model: posix\r\ngcc version 3.4.6\r\notaadmin@otas1> uname -a\r\nSunOS otas1 5.9 Generic_117171-10 sun4u sparc SUNW,Sun-Fire-480R\r\n\r\nso的代码是:\r\n//----------------------------------------------------------\r\nbool Init(char* szServerIP,char* szPort)\r\n{\r\nint nRet = 0;\r\n        if(m_tuxedoOpen)\r\n                return true;\r\n        else\r\n        {\r\n          char szConn[200];\r\n          memset(szConn,0,200);\r\n                sprintf(szConn,\"WSNADDR=//%s:%s\",szServerIP,szPort);\r\n                tuxputenv(szConn);     //此处出现了调用函数重定向错误\r\n                tpinitbuf = (TPINIT *)tpalloc(\"TPINIT\", NULL, TPINITNEED(0));\r\n                tpinitbuf->flags = TPMULTICONTEXTS;\r\n                static int init_times=0;\r\n                \r\n                try\r\n                {\r\n                        if (tpinit(tpinitbuf) == -1)\r\n                        {\r\n                        }\r\n                        else\r\n                                init_times = 0;\r\n                \r\n                \r\n                }\r\n                catch (...)\r\n                {\r\n                        printf(\"\\r\\ntuxedo_init error\\r\\n\");\r\n                        return false;\r\n                }\r\n                \r\n                m_tuxedoOpen = true;\r\n                return true;\r\n        }\r\n}\r\n//----------------------------------------------------------\r\n我自己写了个   调用这个so的程序,程序名称是 testdemo,在程序运行到  tuxputenv(szConn);  这个函数的时候  出现了问题。\r\n\r\nld.so.1: ./testdemo: 致命的: 重定位错误: 文件/opt/TecomOTA/ota2/test/dipatch/patchdll.so: 符号tuxputenv: 参照的符号没有找到\r\n\r\n\r\n我现在不知道,该怎么解决这个事情,只知道 ,g++ 封装so的时候 有好多  函数的名字都会被改的。那么,tuxputenv 这个函数 其实是 \r\n\r\ntuxedo的api,怎么也会有这个问题呢。奇怪了。请大侠们帮忙看看。给点提示。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP