免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 16806 | 回复: 7

cygwin下能够编译windows可执行程序吗? [复制链接]

论坛徽章:
0
发表于 2007-03-27 14:18 |显示全部楼层
譬如我在cygwin下:
      gcc -g hello.c hello.exe
在cygwin下可以执行。
但是,双击hello.exe,就报找不到cygwin.dll。
能生成不依赖于cygwin的windows可执行程序吗?

[ 本帖最后由 zzghost 于 2007-3-27 14:20 编辑 ]

论坛徽章:
0
发表于 2007-03-27 15:40 |显示全部楼层
假如你把cygwin安装在c:/cygwin下。
方法一:
将c:\cygin\bin\cygwin.dll拷贝到hello.exe所在的目录下。
方法二:
将c:/cygin/bin/cygwin.dll拷贝到c:\windows\system32下。
方法三(当机器上安装有cygwin时推荐):
在环境变量path中加上c:\cygwin\bin。
方法四(当机器上没有安装有cygwin时推荐):
在cygwin网站上下载一个cygwin运行时库,安装后,所有在cygwin下编译生成的程序就都可以运行。

论坛徽章:
0
发表于 2007-03-27 16:30 |显示全部楼层
cc -mno-cygwin foo.c

论坛徽章:
0
发表于 2007-03-27 18:44 |显示全部楼层
原帖由 win_hate 于 2007-3-27 16:30 发表
cc -mno-cygwin foo.c


这是一种方法,即用 MinGW 的头和库来编译、连接。

如果是发布二进制的软件,可以把 cygwin1.dll 以及其他必须的文件同你编译的 exe 一起发布。也可以指明:用户需要安装 Cygwin 方可使用。或者提供源代码,也行。

如果只是在本地使用,那么应该把 X:\cygwin\bin 添加到 PATH 环境变量里。进入 Cygwin BASH Shell 也可以。(进入 Cygwin BASH Shell 后必须的目录就会被自动添加进去)

.

论坛徽章:
0
发表于 2007-03-28 17:24 |显示全部楼层
哦,原来这样。但也还是调用了cygwin的dll。

论坛徽章:
0
发表于 2007-03-28 18:24 |显示全部楼层
原帖由 chen_gxing 于 2007-3-28 17:24 发表
哦,原来这样。但也还是调用了cygwin的dll。


-mno-cygwin 的就不用 cygwin 的 dll,但有些函数不支持,使用了那些函数就会编译失败。

论坛徽章:
0
发表于 2007-03-29 20:01 |显示全部楼层
CYGWIN的作用就是把一个程序代码在多个系统中编译和移植(安装);哪样你的程序在MS和UNIX间...!嘻!嘻!嘻!

论坛徽章:
0
发表于 2007-03-30 04:17 |显示全部楼层
原帖由 win_hate 于 2007-3-27 16:30 发表
cc -mno-cygwin foo.c


就是这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP