Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cmake 将图像作为资源嵌入FireBreath插件_Cmake_Embedded Resource_Firebreath - Fatal编程技术网

Cmake 将图像作为资源嵌入FireBreath插件

Cmake 将图像作为资源嵌入FireBreath插件,cmake,embedded-resource,firebreath,Cmake,Embedded Resource,Firebreath,在使用VS(2010)时,我可以通过进入资源视图,然后:右键单击项目>添加>资源>导入来添加图像作为资源 我甚至问了一个关于如何加载它的问题:,但由于某种原因,情况发生了变化 现在,当我尝试同样的方法并保存.rc文件时,我收到以下消息: “资源脚本文件_PATH.rc不是使用Microsoft创建的 Visual Studio。注释、宏、预处理器指令和 有条件包含的信息可以从中修改和/或删除 在生成过程中删除此文件。是否替换现有文件?“ 即使我单击“是”(为了测试东西),我也会在编译时收到各种错

在使用VS(2010)时,我可以通过进入
资源
视图,然后:
右键单击项目>添加>资源>导入来添加图像作为资源
我甚至问了一个关于如何加载它的问题:,但由于某种原因,情况发生了变化

现在,当我尝试同样的方法并保存
.rc
文件时,我收到以下消息:

“资源脚本文件_PATH.rc不是使用Microsoft创建的 Visual Studio。
注释、宏、预处理器指令和 有条件包含的信息可以从中修改和/或删除 在生成过程中删除此文件。是否替换现有文件?“

即使我单击“是”(为了测试东西),我也会在编译时收到各种错误消息:

ResourceCompile:

gen\FireBreatsWin.rc(8):错误RC2144:主 语言ID不是一个数字

gen\firestreathwin.rc(16):错误RC2135:找不到文件与\u版本\u信息

等等

我有两个问题:

  • 使用CMake将图像资源添加到已编译插件的正确方法是什么?我搜索了一下,没有找到任何有用的信息

  • 这种行为改变的原因是什么?因为我以前也能用同样的步骤,而且效果很好


  • 谢谢。

    首先,我不会这么做;相反,我只是将文件放在与DLL相同的目录中,并使用DLL的路径来查找它


    这就是说,“正确”的方法是查看在IDE中添加.rc文件时对其所做的更改,将.rc文件从firebreath目录根目录中的gen_templates/复制到项目中,然后对文件副本进行这些更改。您对生成的文件所做的任何更改都将在再次运行cmake时被覆盖,这可能在您的cmake文件(CMakeLists.txt,*.cmake)更改时发生。

    但我想打包我的插件并让人们下载它。我有一些图片我想在插件中使用,这将使事情更加复杂,把它打包,让用户下载。除非我遗漏了什么。至于“正确”的方法,这正是我所做的,我更改了
    firestreathwin.rc
    resource.h
    firestreath/gen_templates
    目录中,但这将影响我所有的FB项目。。。我不能在项目中本地执行此操作吗?