我正在尝试将一些资源(图像、音乐和数据文件)捆绑到我的二进制应用程序(用C编写)中。
我希望所有内容都包含在一个可执行文件中(这样我就可以只发送(大的)可执行文件,并且它可以工作,没有任何资产可以删除)。
我看到VisualStudio和windows有一个叫做资源文件的东西,看起来它们就是为了实现这一点而设计的。
然而,我感兴趣的是是否有跨平台的方式,或者,如果没有,Linux等同于资源文件是什么(如果有,提供我的任何IDE或编译器)。
我希望能够将我的整个程序包含在一个文件中,因此我对单独的资产或资源目录不感兴趣。
我已经找到了几个更老的答案,但很难相信在Linux上没有一种现代的方法来实现这一点。
解决方案似乎是:
A.在Windows上使用资源文件
B.使用能将资源转化为资源的东西。c字符数组并在Linux上加载。
这是真的吗?如果是这样的话:在跨平台构建周期中包含这个过程的最方便的方式是什么?在程序生成之前,CMAKE是否可以运行一些功能?
我见过人们将他们的二进制资源转换成Cconstuint8_t
数组。它可以是c如果:
#include <cstdint>
#include <array>
extern std::array<uint8_t, 1024> resource1;
#include "Resource1.h"
const std::array<uint8_t, 1024> resource1 = {
0x42, 0x24, 0x18, ...
...
}
如果你不喜欢regexp,这里有一个起点:
hexdump file.bin | sed 's/^[0-9a-f]* \?//;s/ \?\([0-9a-f]\{2\}\) \?/0x\1, /g'
输出类似于
0x5b, 0x6b, 0x32, 0x50, 0x69, 0x50, 0x53, 0x64, 0x61, 0x65, 0x63, 0x72, 0x52, 0x68, 0x73, 0x65,
0x6f, 0x70, 0x73, 0x6e, 0x5d, 0x65, 0x3d, 0x20, 0x30, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20,
...
ASP 应用程序可在运行 Windows NT 4.0 或 Windows 95 及其更新版本的操作系统的计算机上运行。另外,可在 Macintosh 上运行 streamline 版本的 ASP。因为在 Windows 95 和 Macintosh 上的 Personal Web Server 是为个人发布设计的,所以在对 ASP 应用的支持方面有些不同。您可以在 Windows NT Work
问题内容: 是否可以使用Python为iOS和Android编写跨平台应用程序 问题答案: 对于Android,Google提供了一种称为ASE(Android脚本环境)的工具,它允许脚本语言(包括Python)在Android上运行。在这里更多细节 对于iOS,它可能要复杂得多(我建议您查看最新版本的iOS SDK协议以检查当前法律状态- 苹果倾向于定期允许和禁止此类应用)。在技术方面,您可
问题内容: 我正在研究使用python开发控制台应用程序,该应用程序应该能够在Windows和Linux下运行。为此,我真的很想使用像curses这样的高级控制台库。但是,据我所知,curses在Windows上不可用。 我还有什么其他选择?不幸的是,在Windows下不能使用cygwin。 谢谢你的帮助! 问题答案: 有一个问题。我从未尝试过,但它可能满足您的需求。听起来好像并没有完全的curs
问题内容: 我通过阅读一些博客和介绍材料开始使用docker。 我的理解是docker可以将单个应用程序包装到标准化容器中。容器提供了一个沙箱,应用程序需要运行的所有必需资源,并且内部的应用程序始终位于该容器中。这意味着我可以将容器运送到任何地方(不同类型的OS甚至是云平台),并且仍然可以正确运行。 如果我的理解是正确的,那是否意味着微软可以将其办公服包装到一个容器中,并且可以在mac os或li
问题内容: 我想将IPython qt控制台窗口小部件嵌入正在处理的PyQt应用程序中。下面提供的代码(并改编自(http://codingdict.com/questions/162023))针对IPython v0.12实现了此功能。然而,这在崩溃的IPython V0.13在该行有。注释掉此行将调出小部件,但不响应用户输入。 有谁知道如何实现IPython v0.13的等效功能? v0.13
我似乎无法从javaFX应用程序中生成跨平台构建。 在实际的FX应用程序之前,还有一个启动器,这是清单所指向的地方。这就是pom的样子。 我还注意到,无论我选择什么概要文件,它总是生成linux版本,我可以看到这个maven日志: 我一直在看其他的帖子和查看一些视频,这似乎也发生在其他人身上,但看起来有点奇怪。同样奇怪的是,当我为windows生成时,在生成的JAR中看不到任何.dll文件。 正如