‘壹’ ubuntu64位怎么编译32位qt库
64位可以编32位的程序出来,在各种FLAGS中增加 -m32 编出来的就是32位程序,连接时自然是找32位的共享库
这个要看发行版对32位支持的实现,比如gentoo下如果开abi支持双架构那很可能悲剧,因为有些包还没跟上,如果用binary的32位库又会因为版本不同出现莫名其妙的问题,比如fontconfig的坑。
我在64位编32位程序都是使用chroot的方法,这样就可以把32位的头文件库什么的全放在某个地方。我用的是ubuntu,32位库和64位库位置不一样,一般可以直接安装32位的库,如果遇到某些比较特殊的库,一般都可以通过重新编译增加rpath解决,如果没源码也可以用patchelf直接给elf上rpath。
‘贰’ 64位UBUNTU 下 如何用GCC 编译出32位程序 求前辈指点
目测是32位的搜索路径下没有sys/cdefs.h
一般64位系统最好不要安装32位库的-dev,经常有冲突,强行安装会破坏64位环境,头文件并不像共享库分得那么完美。
我觉得比较好的做法是,重新把某一个文件夹当成rootfs,在里面安装各种32位的库和库-dev,然后给gcc传递参数"--sysroot=路径"就可以让gcc重新选取那个文件夹为rootfs,而不再认为/为rootfs。其实这样就变成交叉编译了。也可以在这个rootfs中安装32位的必要软件包如bash,gcc,coreutils等等,然后chroot进去就变成host编译了。其实有个比较简单的方法,就是虚拟机下安一个32位的ubuntu,然后装好各种软件包,然后直接对/打包,再拿出来解压就是rootfs了,后面最多就是缺啥安啥,工作量比较小。当然如果你不在意编译速度,直接虚拟机下编最简单
‘叁’ windows系统中64位的操作系统可以运行32位应用程序吗
可以运行的,不受影响,系统都会兼容32位的应用程序。
‘肆’ 如何在64位win7上运行32位软件
实现的方法和详细的操作步骤如下:
1、首先,右键单击32位软件的图标,选择“属性”选项,如下图所示。
‘伍’ 64位win7下vs2010怎么编译出32位程序
早期在vs2008上的一个测试,希望能够帮助你
一、win32改为x64编译
我采用了vs2008平台,以下都是基于此平台将win32编译改为x64编译
这里以Debug模式为例,起初为Win32平台,要改成x64,如果有可直接选择,否则需要新建,之后为。
然后打开vs的项目->属性->配置属性->连接器,
在“高级”选项中,目标计算机为MachineX64(/MACHINE:X64)。
在“命令行”选项中,将X86改为X64.
平台选择x64,若没有则新建之.
‘陆’ 如何在64位机器下编译32位的内核
这个比较麻烦。
首先你要装好全套的 32 位对应的开发编译支持环境和对应的运行环境,之后还要设置你这个软件编译时用 32 位的参数和 32 位的编译器。
你这个其实等同于交叉编译。
‘柒’ 64位linux编译32位程序
在64位的Linux下,gcc 编译 32 位程序需要添加参数 -m32 ,ld需要添加参数是 -m elf_i386。
1、Along with the -m32 flag in gcc, you may need to include the -melf_i386 flag for ld to properly link the 32bit object files to the 32bit libraries if you have both the 32bit and 64bit libraries.
2、 ld命令 ld命令是GNU的连接器,将目标文件连接为可执行程序。
3、举例:
gcc -m32 -o hello hello.c
gcc -m32 -c hello.o hello.c
ld -m elf_i386 -o kernel main.o hello.o