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了过来。于是。。。
第五步:于是。。。易做图!竟然还不行!这次报错说是libsybcs.so不兼容!没天理了啊。。。难道要配个32位Sybase的动态库? 还在尝试中。。。大家给点意见
作者:SunnyWun
补充:软件开发 , C++ ,