为什么 CodeBlocks (13.12) 找不到 C:\MinGW\include?
Why can't CodeBlocks (13.12) find C:MinGWinclude?
我正试图使用代码块构建我的c++项目,但我收到了以下错误:
ld.exe找不到C:\MinGW\include权限拒绝
我最初手动安装mingw是为了运行eclipse的c++版本,后来我决定改用代码块。由于它没有运行,我删除了mingw的第一个版本(因为代码块已经安装了它,我认为它有冲突),然后卸载并重新安装了代码块(我也重新启动了电脑,只是为了确定)。它仍然给了我一个错误,所以我在网上搜索了这个错误,发现代码块编译器不喜欢路径中的空格和括号(带有自己的mingw文件夹的代码块安装在c:\programmi(x86)中,所以你可以看到它不工作的原因),建议将mingw移到c:\,并将代码块中的编译器路径选项设置为新路径(建议在stackoverflow上找到)。现在它给了我我在上面写的错误。附言:
我尝试在管理模式下打开代码块,但仍然出现错误。以下是生成日志窗口向我显示的内容:mingw32-g++.exe-o bin\Debug\TMIDIcustom.exe obj\Debug\tmidi.o obj\Degug\TMspeech.o obj\Debug\tmidi.res C:\MinGW\include C:\minw/bin//lib/gcc/mingw32/4.7.1/../../../../mingw32/bin/ld.exe:找不到C:\MinGW\include:权限被拒绝collect2.exe:错误:ld返回1个退出状态进程终止,状态为1(0分钟,1秒)1个错误,0个警告(0分钟,1秒)。有人能告诉我发生了什么事吗?
为什么C:\MinGW\include会出现在您的命令中,就好像它是一个要链接的独立文件一样?它实际上是一个目录,所以很自然,试图将其作为文件读取会导致错误。。。对于这种无效的访问尝试,"拒绝许可"似乎是完全合理的可能性。
为什么ld.exe(链接器)还要在C:\MinGW\include中查找?可能是因为,按照g++命令中指定的方式,编译器将其标识为要链接的预编译对象文件(事实并非如此)。它是提供标准系统头文件(可能还有一些额外的用户安装的头文件)的目录,供编译器本身使用;它不应该包含链接器感兴趣的内容。也许您打算将其指定为"-I C:\MinGW\include";然而,这是完全多余的,因为g++(和gcc),如果安装正确,无论如何都知道要在那里搜索。
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 既然存在危险,为什么项目要使用-I include开关
- 有充分的理由在h文件中使用include保护而不是cpp文件吗
- 如何将更多文件夹添加到c++include路径
- 什么是"#include <boost/functional/hash.hpp> "?
- 如何将C++中的库和头与MinGW一起使用
- 为什么与常规GCC不同,即使有"学究性错误",MinGW-GCC也能容忍丢失的返回类型
- 无法在windows上使用mingw将sqlite3与c连接
- 对于MacOS上的G++,如何添加默认的include目录/usr/local/include和默认的库搜索路径/usr
- MinGw 无法从 cmake 编译测试文件
- C++包含来自 #include "DevEngine/Core.h" 的错误
- MSYS2 MinGW程序包中缺少grpc_cpp_plugin协议
- <filesystem> 在 clang 6 和 10 上 #include 错误
- 在 void 函数中使用 #include 变量C++
- Mingw-64 在构建和安装后不会编译 openCV 代码
- 安装MinGW后C++编译器不起作用?
- mingw/include/c++/cstdlib: stdlib.h: 没有这样的文件或目录
- 代码::块 (MinGW) #include <priority_queue>上的编译错误
- 为什么 CodeBlocks (13.12) 找不到 C:\MinGW\include?
- MinGw 4.7.0 不使用 #include < boost/线程编译代码>