我将C ++与Code :: Blocks一起使用。我喜欢Code :: Block,但我不能让资源编译器工作......我的测试设置非常简单。
**in MoviesList.rc file:**
#include "MoviesList.h"
IDR_TEXT1 RCDATA "C:\\_C++\\PROJECTS\\test2\\MoviesList.txt"
**in MoviesList.h file:**
#define IDR_TEXT1 101
**in main()**
{
HRSRC resInfo = ::FindResource(0, MAKEINTRESOURCE(IDR_TEXT1), RT_RCDATA);
return 0;
}
我一直得到这个编译错误:
x86_64-w64-mingw32-windres.exe -J rc -O coff -i C:\_C__~1\PROJECTS\test2\MOVIES~1.RC -o obj\Debug\MoviesList.res
Execution of 'x86_64-w64-mingw32-windres.exe -J rc -O coff -i C:\_C__~1\PROJECTS\test2\MOVIES~1.RC -o obj\Debug\MoviesList.res' in 'C:\_C++\PROJECTS\test2' failed.
Nothing to be done (all items are up-to-date).
编译器设置如下:
C compiler: x86_64-w64-mingw32-gcc.exe
C++ compiler: x86_64-w64-mingw32-g++.exe
Linker for dynamic libs: x86_64-w64-mingw32-g++.exe
Linker for static libs : x86_64-w64-mingw32-ar.exe
Resource compiler: x86_64-w64-mingw32-windres.exe
Make program: mingw32-make.exe
当我去项目的属性然后去构建目标时,我看到main.cpp和MoviesList.rc被检查,这应该是正确的...我有Mingw版本4.8.1和Code :: Blocks版本是12.11。包括Boost在内的所有东西都可以正常工作,除了资源编译器。
更新
从x86_64-w64-mingw32-windres.exe更改为 windres.exe 后,构建不会产生任何错误。 MinGW / bin中没有x86_64-w64-mingw32-windres.exe,只有windres.exe ....我
资源编译器的条目不正确。
答案 0 :(得分:0)
Code :: Blocks是一个IDE,它调用编译器,链接器和其他工具,如资源编译器。这些工具的输出将被捕获并显示在输出窗口中。
当您没有从这些工具之一获得任何输出时,您应该使用构建日志并使用您在构建日志中找到的参数启动工具。这可能有助于隔离问题。
此外,您可以更改参数。例如,告诉编译器在预处理后停止查看预处理的输出。 resorce编译器可能存在类似的选项。