当前位置: 技术问答>linux和unix
【急救】如何在64位AIX下编译和运行OCI的应用程序?
来源: 互联网 发布时间:2016-04-09
本文导语: 本人有五个应用程序,其中有两个使用了 Oracle 的 OCI API , 这些程序在windows和 RedHat Linux (32位) 都运行正常, 现在要求在64位的AIX5.3上运行,设置了编译64位的选项,编译通过,就是运行不起来, Oracle是10.2版...
本人有五个应用程序,其中有两个使用了 Oracle 的 OCI API ,
这些程序在windows和 RedHat Linux (32位) 都运行正常,
现在要求在64位的AIX5.3上运行,设置了编译64位的选项,编译通过,就是运行不起来,
Oracle是10.2版本
------------------
报错信息如下:
Segmentation fault (core dumped)
Program received signal SIGSEGV, Segmentation fault.
0x0000000100023c28 in std::string::assign(char const*, unsigned long) ()
请高手指导啊!
谢谢!
------------------
编译选项如下:
g++ -maix64
-Wall -g -D_DEBUG (Debug版本)
-I/oracle/product/102/rdbms/demo
-I/oracle/product/102/rdbms/public
-L/oracle/product/102/lib
-L/oracle/product/102/rdbms/lib
-lclntsh
-lpthread -lstdc++
这些程序在windows和 RedHat Linux (32位) 都运行正常,
现在要求在64位的AIX5.3上运行,设置了编译64位的选项,编译通过,就是运行不起来,
Oracle是10.2版本
------------------
报错信息如下:
Segmentation fault (core dumped)
Program received signal SIGSEGV, Segmentation fault.
0x0000000100023c28 in std::string::assign(char const*, unsigned long) ()
请高手指导啊!
谢谢!
------------------
编译选项如下:
g++ -maix64
-Wall -g -D_DEBUG (Debug版本)
-I/oracle/product/102/rdbms/demo
-I/oracle/product/102/rdbms/public
-L/oracle/product/102/lib
-L/oracle/product/102/rdbms/lib
-lclntsh
-lpthread -lstdc++
|
请换成xlc/xlC 来重新编译你的程序,因为gcc可能和oracle 使用的xlc/xlC的c/c++运行库不兼容。从错误看来,你使用了STL的string模版库,用gcc/g++,兼容性很成问题。
--------------------------------------------------
《征服C/C++企业软件开发核心技术》
主题词 unix/linux 多线程 网络通讯 数据库
http://www.khp.com.cn/books/detail.asp?bookid=1707
--------------------------------------------------
《征服C/C++企业软件开发核心技术》
主题词 unix/linux 多线程 网络通讯 数据库
http://www.khp.com.cn/books/detail.asp?bookid=1707
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。