0

0

cygwin 1.7升级之后,外部直接访问gcc返回Access is denied

php中文网

php中文网

发布时间:2016-06-07 15:49:37

|

1336人浏览过

|

来源于php中文网

原创

最近一直在弄一些Linux下的环境开发。不过还是一样被抓狂。因为自己的电脑都是Windows系统,所以还是尽量想让工作都在Windows平台下完成。于是我又开始鼓捣cygwin这个东西。不过这次下了最新版本的cygwin1.7,gcc就出现问题了。首先是我的Eclipse的toolchain

  最近一直在弄一些Linux下的环境开发。不过还是一样被抓狂。因为自己的电脑都是Windows系统,所以还是尽量想让工作都在Windows平台下完 成。于是我又开始鼓捣cygwin这个东西。不过这次下了最新版本的cygwin 1.7,gcc就出现问题了。首先是我的Eclipse的toolchain无法识别cygwin gcc,只能识别到的mingw gcc。然后是直接从cmd.exe进入控制台之后,即便PATH设置了cygwin/bin,也无法调用gcc和g++,现实都是Access denied。但是如果在cygwin的bash里面进入,就没有问题。

   最后,还是谢谢Google,让我找到了这个问题的根本:http://www.cygwin.com/ml/cygwin/2009-03/msg00046.html . 原来,本质问题是,cygwin1.7采用了Linux下的link方式。也就是让一个文件和另外一个文件关联。而DOS无法识别这种关联,所以,它就不知道gcc到底是gcc3还是gcc4哪个。

   如果不是输入gcc,而是gcc-3或者gcc-4,那么就ok了。g++也相应是g++-3或者g++-4。

   不过,这样一来,cygwin外部开发环境要识别gcc和调用gcc就很麻烦了。我装最新的Eclipse+CDT是整死也识别不出这个cygwin gcc。而Code::Blocks相对好一些,即便不能识别,你也可以访问去build option里面修改gcc.exe为gcc-3.exe。似乎Eclipse+CDT里面也可以修改,现在不记得了。但是,这种手动修改,毕竟让人感觉 起来很不爽。

   最后还是总结一下,说到在windows平台调试各种Linux程序的方法。

  1. 如果是很干净的程序,standard C/C++,那么最好的方式就是下载mingw,配合CodeBlocks 。 CodeBlocks或许很多人都听说过,这个软件已经都到8.0版本了。之前我在使用之前,在unbuntu论坛上逛了很久,发现对于Linux下 C++ IDE,大家基本都推荐CodeBlocks和KDeveloper。KDeveloper就不用说了,那个东西太大了,没有CodeBlocks快。 CodeBlocks基于wxWidgets (http://www.wxwidgets.org/ ),比较爽的界面。
  2. cygwin+codeblocks也是不错的选择。cygwin是真正模拟大部分Linux下的环境,不过就是比较大,然后还有刚才我说的一些问题。
  3. cygwin或者mingw+Eclipse+CDT。Eclipse这个开发环境在JAVA等真的可以用无敌来形容。不过在unbuntu论坛上,对它的C++的支持似乎评价不是很好。我在Windows和unbuntu下都搭建了Eclipse+CDT ,发现CDT现在功能其实很强的。不过,CDT似乎对C++语法解析有一定的问题。还有就是启动gdb实在是太慢了。。。
  4. VIM+ctags+cygwin(mingw)+GDB(DDD) 应该诸多专业程序员的选择。我其实很多年前就在用VIM了,不过后来又没用了,因为主要都开始用Java来做东西了。如果习惯了Java的开发方式,我估 计很难回到VIM那样。因为当你习惯了Eclipse写Java,写Python,你对Eclipse期望就是希望它能做一切开发,事实上Eclipse 几乎也是能做一切开发,但是就是做不好而已了。VIM的确也很不错,如果插件都装好,其实它的开发环境比这些IDE都好。另外要注意的就是调试环境。相对 于编辑环境,我其实更关注调试环境。我觉得,IDE真正的方便并不是在编辑和编译,而是在调试上。还好,Linux的平台下有DDD(http://www.gnu.org/software/ddd/ )和insight(http://sourceware.org/insight/ )。 前者是调用GDB接口,和诸多IDE一样,来实现的编译。后者则是把整个GDB源代码都包含进去了,似乎要进行更深层次的调试功能挖掘。不过在 cygwin 1.7里面,已经没有附带了insight了。而逛了诸多论坛,也发现对DDD的欢迎程度实在比insight高很多。不过,DDD的界面实在是太丑 了。。。调试的代码都会让人没有心情的。
  5. VMWare Player(or Virtual Box)。现在VMWare Player , Virutal Box 已 经做得很成熟了。所以在Windows里面模拟一个真实的Linux不是难事。只是VMWare Workstation和Server都是收费的,那么个人用户最好去下载轻便的VMWare Player或者Virtual Box。Virutal Box在MacOS上用得很多,不过VMWare Player毕竟有大名鼎鼎的VMWare公司做后盾,应该更加可靠一些。比如说,针对Win7的问题,他们肯定是最早解决的。

大概总结了这么多。希望对大家在Windows上开发,调试Linux程序有所帮助。

ProcessOn
ProcessOn

免费在线流程图思维导图,专业强大的作图工具,支持多人实时在线协作

下载

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

150

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

88

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

90

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

61

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

493

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

16

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

12

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

5

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
JavaScript
JavaScript

共185课时 | 15.9万人学习

CSS教程
CSS教程

共754课时 | 17.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号