ubuntu下交叉编译windows c程序

简介

采用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

 

posted @   findumars  Views(4090)  Comments(0Edit  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2016-01-05 utf8格式源代码中的字符串,默认都会当作char来处理,除非用L""符号来修饰
2016-01-05 Qt Installer Framework的学习
2016-01-05 发布Qt Quick桌面应用程序的方法
2015-01-05 MFC、WTL、WPF、wxWidgets、Qt、GTK、Cocoa、VCL 各有什么特点?
2015-01-05 C++Builder和VC的比较
2015-01-05 Apollo,Python,Delphi与Oracle之间的神话关系
2015-01-05 Delphi语言获得生命的原因和过程
点击右上角即可分享
微信分享提示