2013-11-09 68 views
0

我使用C++与Code :: Blocks。我喜欢Code :: Block,但是我无法让资源编译器正常工作......我的测试设置非常简单。无法使资源编译器与Code :: Blocks配合工作

**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都可以正常工作。

UPDATE

从x86_64的-W64-的mingw32-windres.exe更改为windres.exe构建具有不产生错误后。 MinGW/bin中没有x86_64-w64-mingw32-windres.exe,只是windres.exe .... I

资源编译器的输入错误。

+0

从资源编译器没有额外的诊断?我会从命令行启动它。 – harper

+0

@harper谢谢!你的建议让我想到了正确的方向...... – user2972119

回答

0

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

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

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