问题标签 [windres]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
290 浏览

vim - 使用 MinGW 编译 vim 会导致 mingw-get install --reinstall binutils=2.22-1

我正在尝试使用对 ruby​​ 的本机支持来编译 VIM,并为此使用 MinGW。

编译按预期进行,直到 make 文件尝试执行windres -DWIN32 -DWINVER=0x0400 -D_WIN32_WINNT=0x0400 ..... vim.rc gobj/vimres.res

此步骤失败并显示windres: unexpected version string length 68 != 32 + 8. 我完全不知道这是什么错误以及我应该如何修复它。

据我所知,我下载了最新版本的 vim 源代码和 MinGW 环境。

搜索互联网暗示我试图做一个mingw-get install --reinstall binutils=2.22-1我做过的事情。但我仍然收到相同的错误消息。

0 投票
1 回答
3817 浏览

c++ - TDM-GCC w64脚本将windres更改为32位?

试图让 TDM-GCC(4.7.1) 在 XP SP3 上运行——我现在只需要一个 c++ 32 位版本。似乎 windres 的格式不正确,我的 .rc 文件无法构建:

我的资源文件(TD_SV.rc)似乎是错误:

我已经在谷歌上搜索了几个小时,最接近解决方案的是这里:

http://backyardcode.com/

他建议使用此脚本-但我不知道如何更改它以满足我的需要-感谢任何帮助!

$rescomp [[ if(GetProjectManager().GetActiveProject().GetActiveBuildTarget().Matches(_T("Debug32")) || GetProjectManager().GetActiveProject().GetActiveBuildTarget().Matches(_T("Release32")) ) { print(_T("-D USE_X86_MODE -F pe-i386")); } ]] -i $file -J rc -o $resource_output -O coff $res_includes

另外 - 是否有任何 TDM-GCC(预建/安装程序类型)替代品?我真正需要的是带有石墨选项的 32 位构建。也使用 CodeBlocks IDE。

问候安德鲁

0 投票
1 回答
1978 浏览

c++ - Resource.rc Windres 语法错误 (Mingw)

我从 MS VS 获得了一个项目,目前我正在迁移它以使用 gcc for Windows 进行编译。

C 代码已完全移植,但我在使用 windres 编译项目资源时遇到问题。

我在这些单行遇到了一个由 windres 报告的语法错误:

控制“Tab1”,IDC_FILETAB,“SysTabControl32”,TCS_BOTTOM,0,1,336,194

控制“Tab1”,IDC_KEYS,“SysTabControl32”,TCS_BOTTOM,27,111,73,6

所有其他使用类似语法的 Control 都按预期工作......

根据http://cygwin.com/cygwin-ug-net/windres.html,以下语法用于 CONTROL:

CONTROL ["name",] id, class, style, x,y,w,h [,exstyle] [data]

CONTROL ["name",] id, class, style, x,y,w,h, exstyle, helpid [data]

在 resource.rc 的顶部,我包括 afxres.h、winuser.h 和 windows.h 。

任何人都可以帮我吗?我不知道该怎么做......

顺便说一句,如果我评论这些行,一切都没有错误,但可执行文件无法正常工作。

谢谢

编辑:在互联网上进行更多搜索之后..我发现windres已经在Windows资源编译器上接受了很多语法问题,主要是因为有些类对windres不可见。因此,如果有人知道替代类/ID,或者它被定义包含在哪里,我可以解决它。

0 投票
0 回答
1017 浏览

c++ - ifdef 在资源文件中不起作用

我正在尝试使用:

在我的资源文件(.rc)中。当我为 x64 编译时,它应该包含 x64 资源。当我为 x32 编译时,它应该包含 x32 资源。然而,它没有..

它正在使用以下方式编译:

输出文件为 bin\Release\TestLoader.exe,大小为 3.02 MB

对于 x64 编译,它使用:

用于 x32 编译。

任何想法为什么它不有条件地包含特定资源?它始终包含文件顶部的第一个资源.. 也就是 x64 资源。

0 投票
1 回答
62 浏览

winapi - Windres中的“非VIRTKEY的不适当修饰符”错误是什么意思?

我正在尝试移植几年前在 Borland C++ 5.0 中编写的应用程序,以便能够使用 MinGW 进行编译。

我解决了大部分问题,但我对一个 RC 文件有问题:

Windres 在以下加速器表中抱怨这些条目:

(我删除了它不抱怨的条目。)

错误是:inappropriate modifiers for non-VIRTKEY

我不知道该怎么做才能解决这个问题。Google 针对此错误得出的一个结果是 windres 本身中的源代码转储和补丁。

有任何想法吗?

0 投票
1 回答
420 浏览

c - windres 上的“无法识别的转义序列”错误

我正在尝试编译一个带有图标的 C 程序。

我正在遵循以下说明:如何将图标添加到 mingw-gcc 编译的可执行文件?

埃文和史蒂文的回复。

我收到此错误 4 倍:

当我运行时:

工作目录是可执行文件、源文件和“icon.ico”文件所在的位置。该图标只是一个用

'.rc' 文件内容为:

我的机器是带有 MINGW 的 32 位 Windows 10,没有 Microsoft Visual Studio。

如何编译带有图标的程序?

0 投票
1 回答
797 浏览

c# - windres:文件名、目录名或卷标语法不正确

我正在使用 Windows 10。

我正在尝试使用 MinGW(MinGW 文件夹位于项目目录中)在 c# 中编译 c++ 文件,但它不会编译资源脚本(使用 windres)。

每当我在 cmd 中使用 windres 时,它都会显示:“C:/Users/username/AppData/Local/Temp/my.rc:1: unrecognized escape sequence”。但仍然有效。但是,当我通过 c#(通过创建进程)运行完全相同的命令时,它根本不起作用,并说:“文件名、目录名或卷标语法不正确。”。

我的代码:

0 投票
1 回答
1512 浏览

windows - unable to add icon to exe using windres

I'd like to add an Icon to my exe compiled with mingw-gcc.

I followed instructions in this SO post but the Icon does not show up on my exe in windows explorer.

[edit] Meanwhile I found out that windres destroys my executable. Before applying windres the executable runs as expected. After applying windres calling the executable results in a windows error message telling (roughly) that this executable is not compatible with this windows version.

What am I doing wrong?


This is my directory layout:

this is my resource file:

this is my makefile:

this is the output of make:

this is the result in windows explorer: exe without specified image


[edit] The final working solution is this:

0 投票
1 回答
1083 浏览

c++ - 带有 gcc 和 windres 的版本信息 .EXE

我对控制台程序的版本信息有疑问。我在 Windows 下使用 Code::Blocks 和 mingw/gcc。我有两个程序。第一个(基于 wxWidgets)没有版本问题,在信息窗口中都是可见的。第二个(控制台)按照相同的方式(this)制作,但在属性窗口中看不到任何信息。

这是我的 resouce.rc 文件:

EXE文件的图标是好的,所以资源文件被编译器正确读取了。windres 编译期间没有错误。

“version.h”是由 Code::Blocks AutoVersioning 插件生成的。

我该怎么做才能在属性窗口中显示此版本信息?

提前致谢。

0 投票
1 回答
50 浏览

unix - mingw32 实用程序的 windres 工具正在生成带有 ^M 字符的文件名

我正在尝试使用以下命令在 Linux 中使用 utilswindres工具生成一个资源文件:mingw32

但是,它正在生成一个名为 的文件my.res^M。我用ls -l命令验证了这一点。请解释为什么^M在文件名中添加。