简介

采用mingw32可以在linux下直接编译c程序输出为windows下的exe程序或dll链接库。

个人编译的纯c程序(不含winapi),主要是c99程序,通常采用gcc/cc编译调试后,再用mingw输出win目标文件。

linux下目标程序及共享库与windows下的应用程序及链接库不同。

具体步骤

  1. 安装mingw

    sudo apt-get install mingw32 mingw32-binutils mingw32-runtime

    即使不输入mingw32-binutils和mingw32-runtime也会自动安装

  2. 编译

    i586-mingw32msvc-gcc hello.c -o hello.exe

  3. 个人习惯

    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程序的更多相关文章

  1. Ubuntu下使用Windows应用程序集锦

    QQ & TIM:Wine-QQ-TIM 待续……

  2. 解决“在UBUNTU下打开windows中创建的文本文件,中文显示乱码”的问题 。

    在UBUNTU下打开windows中用notepad等工具创建的txt或程序源码等文本文件,中文显示乱码,原因是windows中的txt文件编码方式为GBK,UBUNTU中为utf-8. 解决办法:在 ...

  3. 如何在ubuntu下使用windows下的程序(eg: .exe)

    为了在ubutu下安装百度云管家,上网查了下如何在ubuntu 下安装.exe文件,其中遇到一些问题记录如下: 使用的命令: 开始时直接使用的sudo apt-get install wine 在运行 ...

  4. Fedora 11中用MinGW编译Windows的Qt4程序(在Linux系统下编译Windows的程序)

    Ubuntu下可以直接安装: sudo apt-get install mingw32 mingw32-binutils mingw32-runtime 安装后编译程序可以: i586-mingw32 ...

  5. Mingw:在Linux系统下编译Windows的程序

    Ubuntu下可以直接安装: sudo apt-get install mingw32 mingw32-binutils mingw32-runtime 安装后编译程序可以: i586-mingw32 ...

  6. ubuntu下创建c语言程序之hello world

    将要学习c语言了,先记录一下在ubuntu下,使用vim创建一个最基本的hello world程序: 打开终端,使用cd命令转到操作的目录,如我在home下的program files文件内创建, 就 ...

  7. 使用VirtualBox在Ubuntu下虚拟Windows XP共享文件夹设置方法

    1.首先保证虚拟的Windows XP有虚拟光驱(正常安装的都是有的,因为在ubuntu下一般都是用硬盘虚拟安装的),然后在已经运行起来的Windows XP菜单栏上选择“设备-安装增强功能“,如果不 ...

  8. ubuntu下交叉编译lftp

    一.背景: lftp依赖于ncurses,readline和gnutls 二.准备工作 2.1交叉编译ncurses 2.1.1获取ncurses源码 wget ftp://ftp.invisible ...

  9. ubuntu下交叉编译imagemagick

    环境:ubuntu16.04 交叉编译器版本号:4.8.3 在编译之前要编译以下其依赖的软件或库:freetype,libpng,libxml2,libtiff,libjpeg,zlib,graphv ...

随机推荐

  1. BZOJ3651 : 网络通信

    同[ZJOI2012]网络,把每个点拆成C个点然后用LCT维护. #include<cstdio> #include<map> #define P make_pair #def ...

  2. CC150 - 11.3

    Question: Given a sorted array of n integers that has been rotated an unknown number of times, write ...

  3. mergeSort

    package POJ; public class Main { /** * * MergeSort * */ public static void main(String[] args) { Mai ...

  4. 【wikioi】1904 最小路径覆盖问题(最大流+坑人的题+最小路径覆盖)

    http://wikioi.com/problem/1904/ 这题没看数据的话是一个大坑(我已报告官方修复了),答案只要求数量,不用打印路径...orz 最小路径覆盖=n-最大匹配,这个我在说二分图 ...

  5. TJOI2016 && HEOI2016 解题报告

    好吧我来写一波题解骗访问量QAQ 题目可以在cogs提交 bzoj4551~4456 D1T1 tree 树剖可做,然而有更简单的做法,10min搞定 维护一个并查集,时光倒流,如果当前点没有标记就把 ...

  6. Java_BigDecimal类型比较大小

    这个类是java里精确计算的类 1 比较对象是否相等 一般的对象用equals,但是BigDecimal比较特殊,举个例子: BigDecimal a=BigDecimal.valueOf(1.0); ...

  7. The Storage Situation: Removable Storage

    http://commonsware.com/blog/2014/04/09/storage-situation-removable-storage.html There is a lot of co ...

  8. 创建 maven 本地仓库; (五)

    在 pom.xml 添加依赖包的时候,有时候会提示无法从 http://repo1.maven.org/maven2/ 获取的情况,这时可配置个本地仓库: 从网上下载 maven 仓库网站源码包 Ne ...

  9. FlyCapture2 Qt5 MinGW Configuration

    Install FlyCatprue2 to the folder "C:\PointGreyResearch\" Add the following to the .pro fi ...

  10. 在openGL中绘制图形

    点的绘制.: glVertex*():星号表示函数要有后缀 该函数 需要放在glBegin函数和glEnd函数之间,glBegin函数的向量指定绘制图元的类型,而glEnd函数没有参数,例如: glB ...