代码::具有MinGW链接的块失败
Code::Blocks with MinGW linking fail
我在32位Windows 7上使用Code::Blocks(版本13.12)和MinGW(版本4.7.1)。
在试图构建我的项目时,我在编译步骤后出现了以下错误:
Execution of 'mingw32-g++.exe -o cb_dlv.exe
...huge list of *.o files...
in 'D:Workspacecb_dlv' failed.
工具链可执行文件当然没有问题,因为我的其他项目编译和链接都很好,所有工具都在正确的位置。从cmd
可以看出mingw32-g++.exe
,因此PATH
变量没有问题。清洁工作空间似乎也没有任何帮助。我已经尝试过移动项目文件,使路径中没有空格,但这也没有帮助。以及重新打开/重新安装/重新启动。
有什么建议吗?
既然我找到了解决方案,就在这里。
主要问题是在Windows7上,命令行的长度限制在32K个字符左右。MinGW编译器和链接器在构建包含大量文件的项目时达到了这一限制。这是MinGW使用的Windows API的一个基本限制。
解决方案:以任何你喜欢的方式缩短命令行:将一些文件合并在一个文件中,将项目分离成几个文件,用长名称重命名子目录,等等。
您是否已将项目设置为使用自定义makefile?您的构建系统变量是什么?对象文件在D:\Workspace\cb_dlv中可用吗?这是编译日志的唯一输出,还是之前有其他输出?您的项目的构建目标是否合理设置?
您应该看到构建系统日志,在最后一个链接阶段发生之前,它正在将您的c/c++文件编译为对象文件,例如:
mingw32-g++.exe -c D:Workspacecb_dlvfile.c -o D:Workspacecb_dlvobjDebugfile.o
请再把这个问题充实一下,我也许能帮你。
相关文章:
- 如果没有malloc,链表实现将失败
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 视图中的参数推导失败:take_while
- 链接到自行创建的dll失败
- 带有特殊路径部分的"std::filesystem::weakly_canonical"失败
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- MinGW-w64 编译失败,nullptr_t
- C++在Linux机器上使用cmake Qt5 Webkit进行交叉编译,使用mingw针对Windows,失败了
- 嵌入 python3.6 和 MinGW 在C++链接失败
- 参考off64_t,在mingw下Qt 5的静态编译失败
- 使用64位mingw g++构建xgboost时失败
- MinGW编译失败:我创建的头文件没有这样的文件或目录
- MinGW + GVim 编译 C/C++ 失败(没有这样的文件或目录)
- GCC(MinGW)链接器在尝试使用GetProcessImageFileName时失败
- Mingw和Boost::Log:构建琐碎的示例失败
- 代码::具有MinGW链接的块失败
- 在windows上安装SDL失败,出现MinGW - dvec.h错误
- Eclipse调试MinGW:执行MI命令失败