首页 文章

为什么CodeBlocks(13.12)找不到C:\ MinGW \ include?

提问于
浏览
0

我正在尝试使用代码块构建我的c项目,但是我收到此错误:

ld.exe找不到C:\ MinGW \ include权限被拒绝

我最初手动mingw为了运行eclipse的c版本,我决定转移到codeblocks . 因为它不像路径中的空格和括号(它的代码块's own mingw folder is installed in c:\programmi (x86) so you can see why it wasn' t工作),并且建议将mingw移动到c:\并设置编译器's path options associated in codeblocks to the new path (suggestion found here on stackoverflow). Now it' s给出了我在顶部写的错误 . P.S:
我尝试在管理模式下打开代码块,但是's still giving the error. Here'是构建日志窗口显示的内容:mingw32-g .exe -o bin \ Debug \ TMIDIcustom.exe obj \ Debug \ tmidi.o obj \ Debug \ TMspeech.o obj \ Debug \ TMIDI.res C:\ MinGW \ include c:/ mingw / bin /../ lib / gcc / mingw32 / 4.7.1 /../../../../ mingw32 / bin / ld.exe:找不到C:\ MinGW \ include:权限被拒绝collect2.exe:错误:ld返回1退出状态进程终止,状态为1(0分钟,1秒(s))1个错误,0个警告(s )(0分钟,1秒(s)) . 谁能告诉我发生了什么事?

1 回答

  • 0

    为什么C:\ MinGW \ include会出现在您的命令中,就像它是一个要链接的独立文件一样?它实际上是一个目录,所以很自然地,尝试将其作为文件读取将导致错误......“拒绝许可”似乎是这种无效访问尝试的完全合理的可能性 .

    为什么ld.exe(链接器)甚至想要查看C:\ MinGW \ include?可能是因为,在g命令中指定的方式,编译器将其识别为要链接的预编译对象文件(事实并非如此) . 它是提供标准系统头文件的目录(可能还有一些额外的用户安装头文件),供编译器本身使用;它应该包含链接器不感兴趣的内容 . 也许你打算将它指定为“-I C:\ MinGW \ include”;然而,这是完全多余的,因为g,(和gcc),如果正确安装,已经知道在那里搜索 .

相关问题