【发布时间】:2014-04-30 12:19:38
【问题描述】:
我目前正在链接到 SFML 中的 >dynamic
我知道 .rc 文件和标题有一些东西,但我没有找到任何关于它的指南。我需要做的是添加 dll,这样我就不必使用 .exe 手动粘贴它们,而且我还需要添加 .png。现在我正在从可执行文件旁边的文件夹中加载它们,我不想这样做。
我该怎么做?
【问题讨论】:
标签: c++ resources visual-studio-2013 sfml
我目前正在链接到 SFML 中的 >dynamic
我知道 .rc 文件和标题有一些东西,但我没有找到任何关于它的指南。我需要做的是添加 dll,这样我就不必使用 .exe 手动粘贴它们,而且我还需要添加 .png。现在我正在从可执行文件旁边的文件夹中加载它们,我不想这样做。
我该怎么做?
【问题讨论】:
标签: c++ resources visual-studio-2013 sfml
您可以在项目中添加一个 [.rc] 文件。
[.rc] 文件是纯文本的资源脚本,您可以将其编辑为文本,或者您可以使用各种 3rd 方资源编辑器(您不需要不需要它来添加图像资源,只需查看RC syntax)。
Visual Studio Express 缺少资源编辑器,但支持自动识别、编译和链接资源。
示例
这是一个示例 [.rc] 文件,只有一行,使用我刚刚从网上下载的免费图标:
100 ICON "resources\\Bad-Blood-Yolks-Grin.ico"
对应的C++源码,在消息框中呈现图标:
#undef UNICODE
#define UNICODE
#include <windows.h>
auto main() -> int
{
MSGBOXPARAMS params = {sizeof( params )};
params.hInstance = GetModuleHandle( nullptr );
params.lpszText = L"Click OK to dismiss this box.";
params.lpszCaption = L"Καλὴ τύχη!"; // "Good luck!" in Greek.
params.dwStyle = MB_USERICON;
params.lpszIcon = MAKEINTRESOURCE( 100 );
MessageBoxIndirect( ¶ms );
}
结果:
所有都在 Visual C++ Express for Desktop 2013 中完成,或者任何它自己的名字。 :-)
为了在资源脚本和 C 或 C++ 代码之间同步标识符,通常包含标头。资源编译器了解最基本的 C 预处理器指令。
哦,另外,我将 [.rc] 文件添加为文本文件。 Visual Studio Express 对重命名的“rc”文件扩展名做出反应,弹出一个警告框,表明它不受支持。只需忽略该框,然后右键单击并选择文本编辑器来编辑文件。
【讨论】: