0

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

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

4

1 回答 1

0

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

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

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

于 2013-11-10T13:35:25.623 回答