wine 移植 windows 程序到 linux

       神奇的 wine  ,.....蛋疼的项目。。。。安装好之后 系统多了 一系列以 wine 开头的命令

[root@centos Client]# wine
wine            winecfg         winedbg         wineg++         winemine        wineserver      
wineboot        wineconsole     winedump        winegcc         winepath        winetricks      
winebuild       winecpp         winefile        winemaker       wine-preloader  

其中的 winemaker 可以转换 windows 项目到 linux  并生成相应的 makefile 

使用方法 可以直接指定源码目录 也可以指定项目文件。。。

我这里指定的是 VC6 的项目文件

[root@centos Client]# winemaker ShellClient.dsp
Winemaker 0.8.3
Copyright 2000-2004 Francois Gouget <fgouget@codeweavers.com> for CodeWeavers
Copyright 2004 Dimitrie O. Paun
Copyright 2009-2012 Andr� Hentschel
Fixing the source files...
  ./ShellClient.c
  ./zlib/adler32.c
  ./zlib/compress.c
  ./zlib/crc32.c
  ./zlib/deflate.c
  ./zlib/gzclose.c
  ./zlib/gzlib.c
  ./zlib/gzread.c
  ./zlib/gzwrite.c
  ./zlib/infback.c
  ./zlib/inffast.c
  ./zlib/inflate.c
  ./zlib/inftrees.c
  ./zlib/trees.c
  ./zlib/uncompr.c
  ./zlib/zutil.c
  ./zlib/crc32.h
  ./zlib/deflate.h
  ./zlib/gzguts.h
  ./zlib/inffast.h
  ./zlib/inffixed.h
  ./zlib/inflate.h
  ./zlib/inftrees.h
  ./zlib/trees.h
  ./zlib/zconf.h
  ./zlib/zlib.h
  ./zlib/zutil.h
Generating project files...

然后 make 一下

[root@centos Client]# make
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o ShellClient.o ShellClient.c
ShellClient.c: In function ‘load_deps’:
ShellClient.c:203: warning: assignment from incompatible pointer type
ShellClient.c:204: warning: assignment from incompatible pointer type
ShellClient.c:214: warning: assignment from incompatible pointer type
ShellClient.c:215: warning: assignment from incompatible pointer type
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o zlib/adler32.o zlib/adler32.c
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o zlib/compress.o zlib/compress.c
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o zlib/crc32.o zlib/crc32.c
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o zlib/deflate.o zlib/deflate.c
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o zlib/gzclose.o zlib/gzclose.c
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o zlib/gzlib.o zlib/gzlib.c
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o zlib/gzread.o zlib/gzread.c
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o zlib/gzwrite.o zlib/gzwrite.c
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o zlib/infback.o zlib/infback.c
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o zlib/inffast.o zlib/inffast.c
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o zlib/inflate.o zlib/inflate.c
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o zlib/inftrees.o zlib/inftrees.c
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o zlib/trees.o zlib/trees.c
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o zlib/uncompr.o zlib/uncompr.c
winegcc -c  -W -fexceptions -g -O0 -mno-cygwin  -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS   -o zlib/zutil.o zlib/zutil.c
winegcc -mwindows -mno-cygwin -o shellclient.exe ./ShellClient.o ./zlib/adler32.o ./zlib/compress.o ./zlib/crc32.o ./zlib/deflate.o ./zlib/gzclose.o ./zlib/gzlib.o ./zlib/gzread.o ./zlib/gzwrite.o ./zlib/infback.o ./zlib/inffast.o ./zlib/inflate.o ./zlib/inftrees.o ./zlib/trees.o ./zlib/uncompr.o ./zlib/zutil.o      -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32   -lodbc32 -lole32 -loleaut32 -lwinspool -lodbccp32 -lws2_32 -liphlpapi -luuid

生成 exe 了。。。你敢信。。。。

还能直接执行这个 exe 。。。

[root@centos Client]# ./shellclient.exe
icmp shell
By sincoder
Usage:[ip]  [password]

来看看生成的这个 exe 是什么文件

[root@centos Client]# file shellclient.exe
shellclient.exe: POSIX shell script text executable

原来生成的exe 是一个脚本而已 。。。。。。。

转载于:https://my.oschina.net/sincoder/blog/127110

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值