问题标签 [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.
c - gcc:致命错误:使用 Code::Blocks 编译和链接资源文件时没有输入文件
我厌倦了糟糕的非工作或不必要的混淆用户敌对工具和程序。
我正在使用 Code::Blocks 设置为使用 Cygwin GCC(编译器工具链目录:)进行编译C:\msys64\usr
,我在我的项目中添加了一个.rc
文件,然后当我编译时我得到了这个:
=== 构建:测试中的调试(编译器:GNU GCC 编译器)===
用户Al3Desktopresource.rc || 没有这样的文件或目录
警告:最后一个输入文件后的“-x c”无效
错误:没有输入文件
为什么要从资源文件路径中删除反斜杠?从这张图也可以看出,资源文件的文件路径不包含任何空格或奇怪的字符,windres.exe也不包含,它位于C:\msys64\usr\bin
是什么导致了这个问题,我该如何解决?
git - cmake 失败,路径在分层组织中有空格
在将每个目录 CMakeList.txt 转到分层组织时,我遇到了路径问题。
我从 git-bash 启动一切。
我只能使用安装在有空格的目录中的便携式应用程序(原文如此!)。
该项目是这样组织的:
当我使用此 CMakeLists.txt 文件cmake -G "Unix Makefiles" ..
在子目录中运行时,它工作正常:app/build
但是,当我尝试使构建系统分层并在父目录中创建一个非常简单的 CMakeLists.txt 时:
编译资源文件失败:
当我查看如何使用 using 调用流程时,make --debug=j
有效的流程和失败的流程之间存在很大差异。
失败的那个:
一个有效的:
用于编译资源文件的CreateProcess
调用windres
是完全不同的。
我不明白为什么它失败只是因为windres
它适用于g++
.
如果有人可以帮助我提供在哪里看的线索,那就太好了。
谢谢阅读。
c++ - windres 致命错误:将输出写入时:参数无效
我试图让 windres 从 Visual Studio 编译资源文件。我正确地将所有文件(包括一个文件)转换为 ANSI,但每次尝试编译它时仍然出现此错误:
这是相应文件的源代码的开头:
编辑:请注意,我用十六进制编辑器查看了 .rc 文件,所有换行符都很好,转换为 ANSI 工作正常
编辑 2: .rc 文件的路径没有任何空格或任何应该与 windres 搞混的东西:
编辑 3: windows.h 文件在我的包含目录中,我手动检查。另外,.cpp 文件使用它并且它没有编译失败。
编辑 4:删除包含 windows.h 文件的行不会改变任何内容,它仍然会给出相同的错误。
编辑 5:直接按字符串而不是按名称命名每个类并消除所有错误消息。
maven - Launch4J,Windres 预处理失败
使用launch4j的plugin-maven将jar转换为exe时出现错误。
此错误:net.sf.launch4j.ExecException: Exec failed (1).
当我看到日志时,我看到此错误:...windres.exe: preprocessing failed.
所以,我已经下载了 Launch4J 包,并且我已经使用了具有相同命令(详细)的 windres:
我用最小的配置(test\rc)编写了一个 rc 文件。
结果 :
同样的错误。我使用 Windows 10 运行此命令。但是当我使用 Windows 7 时......没有错误,输出被创建。
GNU windres 可能是 Windows 10 内的预处理器类型有问题?
任何想法 ?谢谢。
makefile - Makefile 与 Windows 资源文件的循环依赖关系
在运行 Makefile 时,有几个关于循环依赖关系下降的问题(这里和这里),但是,我仍然对它们发生的原因感到有些困惑。
例如,我正在尝试编译一个包含资源文件的 Win32 GUI 程序(来自本教程)。这些资源文件通过windres
命令编译为目标文件,因此它们可以链接到最终的可执行文件(如此处所述):
该命令$(patsubst %.rc,%.rc.o,$(wildcard *.rc))
获取所有以结尾的资源文件.rc
并.o
在它们上添加扩展名(例如resource.rc.o
)。
当我运行它时,一切似乎都正常工作,并且我得到了一个工作可执行文件,但是,Make 输出以下内容:
这种循环依赖的发生是因为我在技术上有两个.o
规则吗?换句话说,我该如何纠正这种循环依赖?
编辑1:
我尝试按照@MadScientist所说的进行操作,但是,这仍然与 Make 产生了循环依赖关系。经过一番谷歌搜索后,我发现了以下页面。在最底部有一个标题为“循环文件依赖项”的部分。这让我想到了 Make 的输出:
看起来是rc
后缀创建了这种依赖关系——即使它不是输出目标文件的文件扩展名的一部分(即file.rc.o
)。如果我将输出文件后缀更改为.res.o
,则循环依赖将完全消失:
这引发了一个非常相似的问题,如果我想使用前面的后缀.rc.o
,你将如何完成这个?可能吗?
编辑2:
@MadScientist建议使用match-anything 规则完美地解决了这个问题。这现在允许我使用.rc.o
后缀结尾。请参阅下面@MadScientist的更新答案。
windows - 如何在mingw下从“resource.rc”生成“resource.h”
上下文 - 在 Windows 7 环境中使用 mingw64/gcc/windres 来编译和构建一些简单的 Windows 实用程序。
有没有办法让windres(或其他一些实用程序?)自动生成一个头文件,其中包含我在.rc文件中定义的所有资源ID?
例如,我认为 Visual Studio 会自动从您的“resource.rc”生成匹配的“resource.h”,因此您不必手动定义所有 ID 号。在 mingw 环境中有没有办法做到这一点?
c++ - 为什么不显示版本信息
所以当我遇到 Windows 资源文件 (.rc) 时,我正在开发我的 C++ 应用程序,我的应用程序是葡萄牙语的,所以我这样写我的文件:
由于某种原因,我不知道什么时候用 g++ 和 windres 编译它,我得到了图标,但没有显示版本信息。
如果你能帮助我,请把这个
rc - 运行 Winres 时出现语法错误,尝试设置可执行图标
在终端中运行([文件名]只是一个占位符])windres -v -i [filename].rc -o [filename].o
时,我收到以下消息:
gcc -E -xc -DRC_INVOKED [filename].rc'
Using popen to read preprocessor output
windres.exe: [filename].rc:1: syntax error
我不明白为什么会出现语法错误。我正在尝试为这样的可执行文件设置一个图标https://wiki.haskell.org/Setting_an_executable_icon,但不要让它工作。解决方案是什么?
wxwidgets - windres 找不到“wx/msw/wx.rc”使用 MSYS2-minGW64 和 Codelite 构建 wxWidgets 项目
作为一些较旧的答案打开一个新问题不适用于我的情况。
根据主题,我无法使用 CodeLite 14 和 wxWidgets 3.1.4(使用 MSYS2-mingW64 编译)在 Windows 10 中编译基本的 wxWidgets“Hello, World”程序。
错误消息在行
wx-config 运行返回的资源文件标志wx-config --rcflags
是:
所有文件夹/文件都正确就位。通过修改这些标志,我发现没有给出错误,并且如果我删除标志,程序可以正确编译,--use-temp-file
例如:
然后一切正常。不幸的是,wx-config 默认采用该标志,因此唯一没有它的简单解决方案就是停止使用wx-config
并手动配置所有编译器标志。所以:
- 有什么办法可以避免这种情况吗?
- 那面旗帜是干什么用的?
c++ - 尝试使用 windres 编译 .rc 文件时出现问题
我正在使用 raylib-cpp 用 C++ 制作小“游戏”,我想将 .exe 图标更改为另一个。为此,我需要将 .rc 文件重新编译为“.rc.data”文件。我看到我需要使用windres来重新编译这个文件。
我正在使用这个命令:windres -i raylib.rc -o raylib.rc.data
,它显示这个错误消息:windres: preprocessing failed.
。
我不知道它到底是什么意思,但我知道我的电脑正在使用 gcc 编译器。我该如何解决?
这是代码中的图像和错误(第二行是说“系统找不到指定的路径”,cmd显示给所有东西,即使它刚刚启动,我也不知道是不是错误)