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参数

  • 相关阅读:
    LeetCode 453 Minimum Moves to Equal Array Elements
    LeetCode 112 Path Sum
    LeetCode 437 Path Sum III
    LeetCode 263 Ugly Number
    Solutions and Summay for Linked List Naive and Easy Questions
    AWS–Sysops notes
    Linked List
    All About Linked List
    datatable fix error–Invalid JSON response
    [转]反编译c#的相关问题
  • 原文地址:https://www.cnblogs.com/xiayong123/p/3717121.html
Copyright © 2011-2022 走看看