需求: -CodeBlocks使用nightly版本: -Windows SDK(我使用的是6.0A,即微软针对vista的,因为这个比较小,你也可以选择其他版本但是要有64位编译器.他也适用于xpsp2及以上但是要安装.net2.0以上才能运行)对应的链接 :http://download.microsoft.com/download/4/2/6/42684501-9ec5-43dd-9dfe-c8c9dfa6a66f/6.1.6000.16384.10.WindowsSDK_Vista_Fe…
编译64位程序,不一定要编译机器是64位的,但是32位机器默认安装的gcc编译环境还是不能用来编译64位程序. 编译64位程序,需要加上-m64编译器参数,默认安装的gcc已经支持该参数,但是缺少64位机器指令相关的文件,所以不能编译,会出现下面的错误 In file included from /usr/include/features.h:378, from /usr/include/assert.h:37, from ../../../include/tinyxml/tinystr.h:4…
安装了ubuntu16 64位的系统,想在该环境下用gcc编译64位和32位的程序 默认已经安装了64位环境的gcc 1. 首先确认安装的环境是不是64位的 cocoa@cocoaUKlyn:~/Desktop$ dpkg --print-architecture 以下输出表示为64位的 amd64 2. 确认系统是否支持多架构环境 cocoa@cocoaUKlyn:~/Desktop$ dpkg --print-foreign-architectures 以下输出表示支持32位的架构 i386…
摘要: Linux系统区分32/64位,相应地,应用程序.共享库和内核模块也区分32/64位. 本文以Ubuntu系统为例,介绍如何编译和使用32/64位的应用程序.共享库和内核模块. 1. 应用程序 要点: 使用gcc编译器的-m32和-m64选项指定编译成32位或64位应用程序,编译时需要使用32/64位库,因此编译前需要安装对应的库. 在64位系统上,可以执行64位和32位应用程序.在32位系统上,只能执行32位应用程序,不能执行64位应用程序. 1.1 64位系统上编译应用程序 在64位…
最近做一个.NETCore项目,需要调用以前用VB6写的老程序,原本想重写,但由于其调用了大量32DLL,重写后还需要编译为32位才能运行,于是干脆把老代码整个封装为32DLL,然后准备在64位程序中调用.(注意Windows系统中,先要把DLL注册为COM) 为了实现64位程序调用32DLL,我尝试了大量方法,但效果都不是很理想,偶然中发现.NetCore的“管道”,可以完美地解决这个问题,具体思路如下: 1.创建一个.NETFramework32位程序,在其中对封装的老代码进行引用(COM中…
  最近在64位ubuntu上开发,需要编译32位程序,需要安装这两个包,然后在编译器参数加上-m32.不放心的话可以用ldd或file查看一下是否生成了对应位数的程序. $ apt-get install build-essential module-assistant $ apt-get install gcc-multilib g++-multilib…
在64位linux下编译32位程序 http://blog.csdn.net/xsckernel/article/details/38045783…
昨天接到的任务,编译64位和32位两个版本的.so动态库给其他部门,我的ubuntu虚拟机是64位的,编译32位时遇到了问题: /usr/bin/ld: cannot find -lstdc++ 最后在stackoverflow上看到了解决方案(安装multilib,我的源程序既有c又有cpp,所以只好gcc和g++都装了): sudo apt-get install gcc-multilib sudo apt-get install g++-multilib 然后再 gcc -I./inclu…
最近需要将一个32位的程序移植到64位上,由于原来是使用vs2003写的,vs2003本身并不支持编译64位系统上,只能升级到vs2005以上版本.个人还是比较喜欢vs2005,对c++来说,vs2005的功能基本上已经够用了. 基本步骤如下: 接下来只要重新编译即可,当然代码可能需要修改,例如OnTimer(UINT nIDEvent)需要改成OnTimer(UINT_PTR nIDEvent)等等. 接下来徐泽活动解决方案平台为x64,即可编译64位可执行文件.…
摘要:本文介绍使用rpcgent实现64位程序调用32位库函数的方法,并给出样例代码. 我的问题 我的程序运行在64位Linux系统上,需要使用一个从外部获得的共享库中的函数,这个共享库是32位的,无法获得源代码或64位共享库. 我对Linux系统和程序的了解是: 64位程序只能调用64位共享库,32位程序只能调用32位共享库. 64位程序不能运行在32位系统上,32位程序可以运行在64位系统上. 解决这个问题有两个方法: 把程序编译为32位,这样就可以使用32位共享库.但我的程序也使用了其它6…