1、 下载安装Cygwin
安装时,请将mingw-gcc、mingw-zlib、pkg-config、libiconv这几个组件选上,这是将.NET程序转化为本地程序的必要的编译环境。
Cygwin环境中标题栏右键设置字符集解决中文乱码
2、 启动cgywin并设置环境变量:
1、点击开始菜单或桌面上的cygwin图标,启动且进入cygwin环境。
2、输入下面的命令,设置或修改必要的环境变量:
exportPKG_CONFIG_PATH=/cygdrive/d/progra~1/Mono-3.2.3/lib/pkgconfig
exportPATH=$PATH:/cygdrive/d/progra~1/Mono-3.2.3/mono/bin
exportPATH=$PATH:/usr/i686-pc-mingw32/bin
3、 执行如下命令:
1、切换到可执行程序的目录(c#编写的程序)
$ cd D:/MonoWorkSpace/TcpListener/TcpListener/bin/Debug
2、转换与打包,将.net程序和类库打包并得到一个TcpClientDemo程序源码
$ mkbundle -c -ohost.c -oo bundle.o --deps TcpListener.exe Newtonsoft.Json.dll
在可执行程序的目录下会生成host.c和bundle.o文件
4、 再启动安装程序
安装
gcc-core:C 编译器
gcc-g++:C++ 编译器
gdb:GNU 调试器
make:"make" 实用程序的 GNU 版本
popt
dos2unix
在http://linux.softpedia.com/progDownload/Dos2Unix-Download-5519.htm
下载hd2u-1.0.0.tgz,放到cygwin/tmp下
执行如下命令
tar -zxf hd2u-1.0.0.tgz
cdhd2u-1.0.0
./configure
5、 编译
gcc -o WinApp.exe -Wall host.c `pkg-config--cflags --libs mono-2|dos2unix` bundle.o -lz -licon