zoukankan      html  css  js  c++  java
  • 在32位系统下编译64位程序

    在32位系统下编译64位程序

    Tiger Soldier posted @ 2008年7月02日 05:53 inlinux with tagsgcc , 1638 阅读

    由于某些需要要编译个64位程序,而机子装的系统是32位。因为不想装上64位系统(麻烦&没空间&得用虚拟机),所以尝试了下在32位下编译。

    首先是设置gcc生成64位的目标代码,这倒是好办,用-m64选项就行。然而光是有这一点还不够,编译本身是要链接其他的库的,而64位代码没有办法链接32位的库。

    首先是要装上64位的C库,这比较好办,Ubuntu里有libc6-amd64和libc6-dev-amd64这两个包,将其装上。

    然后是gcc的64位库,这个比较麻烦,32位Ubuntu里没有提供相应包,因此得到网上去找。我是在http://packages.ubuntu.com上找的,下载amd64架构的包。需要下载的是这两个包子:gcc4.2和libgcc,用归档管理器打开下载下来的deb文件,并打开其中的data.tar.gz包,将其中的.so、.a和.o文件解压到/usr/lib64中(需要root权限,可先解压到/tmp再复制过去)。

    然后因为用了C++,所以要装上C++的64位库,这个源里也没有,同样是下载解压。

    以上是一些基本的包,在其实中一般不只这些,要根据说明文档下载相应的包解压,而且相应包所依赖的包也要下载解压,所以会很麻烦的,没事就别跨平台编译吧。

    最后就要给编译加上-m64参数

  • 相关阅读:
    图解设计模式-Visitor模式
    图解设计模式-Decorator模式
    图解设计模式-Strategy模式
    图解设计模式-Bridge模式
    HashMap源码
    LinkedList源码
    Vector源码
    ArrayList源码
    图解设计模式-Abstract Factory模式
    图解设计模式-Builder模式
  • 原文地址:https://www.cnblogs.com/xiayong123/p/3717121.html
Copyright © 2011-2022 走看看