当前位置:编程学习 > C/C++ >>

linux程序(C++)由32位移植到64位的过程,还在尝试中,大侠勿喷,多多指点啊。。。

项目配置:linux(32位Suse)+  数据库(32位 Sybase)+ tomcat

新平台:linux(64位Suse)+  数据库(64位 Sybase)+ tomcat

先说环境搭建的问题:

 第一步:在新平台安装CMake和ftp-server工具。(这个纯百度就可以搞定了)

第二步:因为项目引用了C++ Poco开源库,所以在项目移植过去后会报错说Poco的动态链接库不兼容导致链接失败。网上对这方面的讲解也比较多,这里我试了一下,觉得应该是由于项目中引用的动态链接库是32位的导致的问题,所以毫不犹豫的去Poco官网下了源码,自己在64位Suse上编了一遍新的动态链接库,替换后,问题解决了。编动态库的时候很简单,Poco官网下源代码以后,直接make即可。

第三步:Poco的动态库连接了以后才发现,64位Suse上的Sybase竟然被人给删掉了(用户名还在)。。。然后就开始安装64位Sybase,用的硬盘直接安装,挨千刀的竟然提示无法图形化安装,只能./setup -console 安装,Sybase的安装教程也没用了,自己摸索着好歹是装完了。

第四步:还以为这下万事大吉,哪知道在编译的时候会链接到Sybase的动态库libsybcs.so,更奇怪的是这次没说不兼容,而是说找不到!我用find命令发现的确是有的,想想应该是路径的问题了,于是export PATH = ..................  export LD_LIBRARY_PATH = ..............   奇怪的是还不行!CMake编译的时候还是提示找不到libsybcs.so,再次求助万能的CSDN,发现了.bashrc, 64Suse下找了一把,竟然连这个文件也没有,于是去32Suse上直接copy了过来。于是。。。

第五步:于是。。。shit!竟然还不行!这次报错说是libsybcs.so不兼容!没天理了啊。。。难道要配个32位Sybase的动态库? 还在尝试中。。。大家给点意见


作者:SunnyWun
补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,