编译64位程序 linux,编译64位和编译32位程序

本文介绍了如何在64位Linux系统上编译32位和64位程序。关键在于使用编译器参数`-m32`和`-m64`。对于自定义Makefile,直接在编译器和链接器选项中添加这些标志。若使用autoconf,需在`configure.in`中调整。同时,文章提到了`linux32`和`linux64`命令来切换编译环境,并给出了编译32位ACE库的示例配置。
摘要由CSDN通过智能技术生成

在64位的机器上编译32位还是62位程序,主要是要编译器和链接器上加上参数据:-m32 (编译32位) -m64(编译64)

自己写Makefile的话,把上面的标志放到编译器和链接器参数中就可以了。

如果用autoconf生成Makefile的话,则要在configure.in中的编译器和链接器变量上加上上面参数:

例如:下面例子是编译32位的程序,如果要编译64位的,则把红色的部分换成 -m64

#                                               -*- Autoconf -*-

# Process this file with autoconf to produce a configure script.

AC_PREREQ(2.59)

AC_INIT(ShowServer, 1.0, kl222@126.com)

AC_CONFIG_SRCDIR([.])

AC_CONFIG_HEADER([config.h])

AM_INIT_AUTOMAKE(ShowServer, 1.0)

# Checks for programs.

AC_PROG_CXX

CFLAGS=" -O2"

CXXFLAGS="-m32 -D_DEBUG "

LIBS="-L. -L$ACE_LIB -L$LIB_PATH/lib"

LDFLAGS="-m32"

# Checks for libraries.

AC_CHECK_LIB([pthread], [pthread_create], , exit 1)

AC_HAVE_L

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值