ubuntu下交叉编译windows c程序
简介
采用mingw32可以在linux下直接编译c程序输出为windows下的exe程序或dll链接库。
个人编译的纯c程序(不含winapi),主要是c99程序,通常采用gcc/cc编译调试后,再用mingw输出win目标文件。
linux下目标程序及共享库与windows下的应用程序及链接库不同。
具体步骤
安装mingw
sudo apt-get install mingw32 mingw32-binutils mingw32-runtime
即使不输入mingw32-binutils和mingw32-runtime也会自动安装
编译
i586-mingw32msvc-gcc hello.c -o hello.exe
个人习惯
alias cl=’i586-mingw32msvc-gcc -std=c99’
cl *.o -mdll -o test.dll
cl hello.c -o hello.exe
mingw命令
- C compiler: i586-mingw32msvc-gcc
- C++ compiler: i586-mingw32msvc-g++
- Linker for dynamic libs: i586-mingw32msvc-g++
- Linker for static libs: i586-mingw32msvc-ar
- Debugger: i586-mingw32msvc-gdb
http://hustlei.tk/2014/08/ubuntu-compile-c-for-win.html
ubuntu下交叉编译windows c程序的更多相关文章
- Ubuntu下使用Windows应用程序集锦
QQ & TIM:Wine-QQ-TIM 待续……
- 解决“在UBUNTU下打开windows中创建的文本文件,中文显示乱码”的问题 。
在UBUNTU下打开windows中用notepad等工具创建的txt或程序源码等文本文件,中文显示乱码,原因是windows中的txt文件编码方式为GBK,UBUNTU中为utf-8. 解决办法:在 ...
- 如何在ubuntu下使用windows下的程序(eg: .exe)
为了在ubutu下安装百度云管家,上网查了下如何在ubuntu 下安装.exe文件,其中遇到一些问题记录如下: 使用的命令: 开始时直接使用的sudo apt-get install wine 在运行 ...
- Fedora 11中用MinGW编译Windows的Qt4程序(在Linux系统下编译Windows的程序)
Ubuntu下可以直接安装: sudo apt-get install mingw32 mingw32-binutils mingw32-runtime 安装后编译程序可以: i586-mingw32 ...
- Mingw:在Linux系统下编译Windows的程序
Ubuntu下可以直接安装: sudo apt-get install mingw32 mingw32-binutils mingw32-runtime 安装后编译程序可以: i586-mingw32 ...
- ubuntu下创建c语言程序之hello world
将要学习c语言了,先记录一下在ubuntu下,使用vim创建一个最基本的hello world程序: 打开终端,使用cd命令转到操作的目录,如我在home下的program files文件内创建, 就 ...
- 使用VirtualBox在Ubuntu下虚拟Windows XP共享文件夹设置方法
1.首先保证虚拟的Windows XP有虚拟光驱(正常安装的都是有的,因为在ubuntu下一般都是用硬盘虚拟安装的),然后在已经运行起来的Windows XP菜单栏上选择“设备-安装增强功能“,如果不 ...
- ubuntu下交叉编译lftp
一.背景: lftp依赖于ncurses,readline和gnutls 二.准备工作 2.1交叉编译ncurses 2.1.1获取ncurses源码 wget ftp://ftp.invisible ...
- ubuntu下交叉编译imagemagick
环境:ubuntu16.04 交叉编译器版本号:4.8.3 在编译之前要编译以下其依赖的软件或库:freetype,libpng,libxml2,libtiff,libjpeg,zlib,graphv ...
随机推荐
- Python实践:开篇
一.概述 Python实践 是应用Python解决实际问题的案例集合,这些案例中的Python应用通常 功能各异.大小不一. 该系列文章是本人应用Python的实践总结,会不定期更新. 二.目录 Py ...
- DP ZOJ 3735 Josephina and RPG
题目传送门 题意:告诉你C(m,3)个队伍相互之间的胜率,然后要你依次对战n个AI队伍,首先任选一种队伍,然后战胜一个AI后可以选择替换成AI的队伍,也可以不换,问你最后最大的胜率是多少. 分析:dp ...
- 构造图 Codeforces Round #236 (Div. 2) C. Searching for Graph
题目地址 /* 题意:要你构造一个有2n+p条边的图,使得,每一个含k个结点子图中,最多有2*k+p条边 水得可以啊,每个点向另外的点连通,只要不和自己连,不重边就可以,正好2*n+p就结束:) */ ...
- LogHelper拾遗
1.被简化之前 对已LogHelper,形如: public static void WriteError(string className,string methodName,string mess ...
- POJ2125 Destroying The Graph(二分图最小点权覆盖集)
最小点权覆盖就是,对于有点权的有向图,选出权值和最少的点的集合覆盖所有的边. 解二分图最小点权覆盖集可以用最小割: vs-X-Y-vt这样连边,vs和X部点的连边容量为X部点的权值,Y部和vt连边容量 ...
- C#控制鼠标位置
It is not possible using the .NET BCL. However if you really want it you can use native SetCursorPos ...
- 如何对Backbone.Collection进行过滤操作
首先我想说的是这篇文章的题目起的很怪,因为我不知道起个什么名字比较好.渲染列表是我们应用中最常见的操作了吧,在运用Backbone的应用中,我们一般会把列表作为一个Collcetion,然后指定一个V ...
- 【wikioi】1002 搭桥(dfs+最小生成树)
http://wikioi.com/problem/1002/ 今天开始又开始刷水了哈T_T.照着hzwer神犇的刷题记录刷!!! 题解: 一开始我也不会,但是我想到了直接爆搜T_T. 好吧,题解. ...
- 用java删除文件夹里的所有文件
import java.io.File; public class Test { public static void main(String args[]){ Test t = new Test() ...
- Servlet的生命周期,并说出Servlet和CGI的区别,Servlet与JSP的区别
一.Servlet 生命周期 1.加载 2.实例化 3.初始化 4.处理请求 5.销毁 二.Servlet与cgi的区别: Servlet处于服务器进程中,它通过多线程方式运行其service方法,一 ...