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

Ubuntu下可以直接安装:

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

安装后编译程序可以:

i586-mingw32msvc-g++(编译C++程序)

i586-mingw32msvc-gcc(编译C程序)

用法和gcc/g++非常类似。

如hello.c程序:




#include

int WINAPI WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,
int iCmdShow)
{
MessageBox (NULL, "Hello", "Hello Demo", MB_OK);
return (0);
}


编译:

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

注:-mwindows指示其编译的是windows程序,若编译的是console(命令行)程序,则不需要这个参数。

若安装了wine,还可以测试一下这个程序:

wine hello.exe

时间: 2024-11-15 13:19:51

Mingw:在Linux系统下编译Windows的程序的相关文章

64位linux系统下编译int32_t

在64位Linux系统下编译执行一下程序输出结果为 40 8 #include <stdio.h> #include <stdlib.h> #include <stdint.h> void print_size(int32_t array[10]){ printf("%ld\n",sizeof(array)); } int main() { int32_t myarray[10]; printf("%ld\n",sizeof(my

在虚拟机linux环境下编译windows版adb fastboot

原文出自:http://blog.chinaunix.net/uid-20546441-id-1746200.html 我根据虚拟机编译遇到的问题进行一些添加 [前提条件] Linux Android源码完整 虚拟机磁盘空间100G左右(60G用来存放代码和编译后的文件) swap 30G左右,若太小会导致在编译后提示缺失文件 [具体步骤] 理论上,只要下一个windows版本的SDK,里面就自带了fastboot和adb工具. 但我最近确实遇到了一个需要在linux下编译出windows版本的

在linux环境下编译运行OpenCV程序的两种方法

原来以为在Ubuntu下安装好了OpenCV之后,自己写个简单的程序应该很容易吧,但是呢,就是为了编译一个简单的显示图片的程序我都快被弄崩溃了. 在谷歌和上StackOverFlow查看相关问题解答之后,我下面就介绍Command Line和CMake两种方式. 首先我先粘上我测试的代码吧,文件名为Test.c 1 #include <highgui.h> 2 3 int main(int argc,char ** argv) { 4 5 IplImage* img = cvLoadImage

如何在Windows下使用Linux系统来编译和运行程序?

很多开发人员都有这样的疑问:自己平时是在Windows下面办公的,而自己编写的程序的运行环境又是Linux的,如何从Windows切换到Linux呢?是不是要专门到Linux机器上去编写代码呢? 实际上,只要在Windows下安装一个叫做SecureCRT的软件和一个叫做FileZilla的软件,便可轻松解决问题. SecureCRT和FileZilla简介 SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录Linux服务器主机的软件. Fil

linux系统下挂载windows共享目录

在工作中有时我们需要在linux上挂载windows共享目录.首先我们需要学会在linux上查看windows共享了那些目录.查看操作需要安装samba-client. [[email protected]5201351 ~]# yum install samba-client -y //安装samba客户端 安装好samba-client之后,接下来就是查看windows主机上的共享资源,查看的命令如下: [[email protected]5201351 ~]# smbclient -L 1

Linux系统下编译连接C源代码

gcc test.c -o test 一步到位的编译指令 得到 test 文件 gcc test.c 得到 test.out 文件 gcc -g -c test.c -o test 只生成目标文件(.obj文件),没有生成可执行文件(也就是说test是.obj文件) gcc -g test.c -o test 生成可执行文件(可以通过./test运行程序) -g:生成调试信息.GNU 调试器可利用该信息. -c:只编译并生成目标文件.(没有中间文件生成和可执行文件,如列表文件.可执行文件) -o

在Linux系统下挂载Windows上的共享文件夹

使用挂载命令之前需要安装cifs-utils 在Centos7下面用这个 yum install cifs-utils 安装完毕后使用挂载命令完成挂载 在挂载之前需要创建被挂载的路径 mkdir -p /mnt/hdf 挂载命令格式如下 mount -t cifs -o domain="FIRADIO",username="用户名",password="密码" //10.86.3.54/hdf$/Users/用户名 /mnt/hdf 将上面的&q

linux环境下编译运行OpenCV程序的两种方法

一.命令行Command Line 1 g++ opencv_test.cpp -o opencv_test `pkg-config --cflags --libs opencv` 2 ./opencv_test test.jpg 备注:pkg-config选项--cflags 它是用来指定程序在编译时所需要头文件所在的目录--libs 则是指定程序在链接时所需要的动态链接库的目录 二.CMake工具编译 在程序同目录下创建CMakeLists.txt 1 #文件地址(下载源码安装包中):/op

Linux系统下vi编辑器的一些简单使用操作

Linux系统安装vi编辑器 打开终端,输入: sudo apt install vim 然后输入Y等待安装即可 Linux系统下使用vi编辑器的使用 安装好vim后,终端中输入vim即可进入vim编辑界面(或输入"vi filename"打开名为"filename"的文件),此时光标处于最下面一行,此时处于命令行模式: 按"a"或"i"键可进入"插入模式"开始编辑 (在"插入模式"中可