无法使资源编译器与Code :: Blocks一起使用

时间:2013-11-09 15:10:59

标签: c++

我将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 ....我

资源编译器的条目不正确。

1 个答案:

答案 0 :(得分:0)

Code :: Blocks是一个IDE,它调用编译器,链接器和其他工具,如资源编译器。这些工具的输出将被捕获并显示在输出窗口中。

当您没有从这些工具之一获得任何输出时,您应该使用构建日志并使用您在构建日志中找到的参数启动工具。这可能有助于隔离问题。

此外,您可以更改参数。例如,告诉编译器在预处理后停止查看预处理的输出。 resorce编译器可能存在类似的选项。