- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
尝试在 Win32 应用程序中显示对话框时出现 RC2247 错误(符号名称太长)。此文件中发生错误:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\um\winnt.h
这在 VS2015 下运行良好。当我升级到 VS2017 时出现错误。
我看过以下帖子,它们似乎不相关,因为它们属于 prsht.h
:
RC2247 : Cannot open Rc file : Resource explorer cannot load resource ; Load failed
如果我注释掉整个 resource.rc
文件,错误就会消失。如果 RC 包含单行,则会发生错误:
#include <winnt.h>
当我点击“编辑代码”时,没有任何反应。
我很感激任何建议。
最佳答案
我们不得将 windows.h 或 winnt.h 包含到 .rc 文件中 - 此 header - 用于 c/c++ 编译器并且不是为 RC(处理 .rc 文件的资源编译器)设计的。因此,如果我们包含此类文件,我们可能会出错。
我们需要包括#include <winres.h>
.rc 文件。此文件专为 RC 编译器设计。在内部它包括:
#include <winuser.rh>
#include <commctrl.rh>
#include <dde.rh>
#include <winnt.rh>
#include <dlgs.h>
#include <winver.h>
并定义一些宏。
我们在 rc 文件中需要/使用的所有标准窗口定义都存在于 winres.h 中(及其子包含)。从另一方面看,windows.h 中不存在额外的符号/定义 - rc 不需要它,有时会导致错误。
很简单#include <winres.h>
在资源文件的开头就可以了。
关于windows - 错误 RC2247 : Symbol name too long (winnt. h),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52156649/
我的理解是Batch Script就是你所说的在WinNT环境下制作的脚本,但是批处理脚本也是任何语言执行批处理操作的一类脚本的总称。 您是否会在简历中使用一组脚本语言名称来说明您可以在 WinNT
我有一个简单的控制台应用程序,它是另一个解决方案的一部分。我决定在新解决方案中单独使用此应用程序。打开此应用程序并保存在新创建的解决方案中后,出现以下错误: Error 9 error C20
我在 Eclipse 中有一个新的 C++ 项目。我不得不手动添加所有包含路径,我一定是搞砸了。这是我的代码: #include int main() { return 0; } 我可以在
我正在做一个小型个人项目,涉及打印有关 PE 文件的信息。我读到大部分 pe 结构已经在 winnt.h 头文件中定义。 在包含 winnt.h 并编译项目后,出现以下错误: #error : "N
当我检索本地 WinNT 组的成员时,不知为何返回的不是所有 成员。我补充说: 事件目录用户 事件目录组 两者都成功(见图片),但只有用户随后出现。 问题是: 添加的组会怎样? 查看代码示例“GetM
在堆栈溢出上有几个类似的问题,但不完全相同。 我想在 win xp 计算机上打开或创建一个本地组,并向其中添加成员、域、本地和众所周知的帐户。我还想检查用户是否已经是成员(member),这样我就不会
下面的函数(应该)列出本地机器上的所有组。 现在的问题是:为什么“所有人”组没有出现? 如果我以用户身份更改目录权限,我会看到“所有人”组,因此它一定在某处。 Public Shared Fu
尝试通过 windows.h 编译包含 winnt.h 的文件时,出现以下错误: MyGl.cpp..\microsoft sdks\windows\v6.0a\include\winnt.h(964
我正在开发一个网站,它将对用户进行身份验证并将旧密码更改为新密码。 我正在使用 WinNT 字符串连接并设置密码,没有旧密码检查,可以正常工作。 我的代码如下: 'actual setting pas
ANYSIZE_ARRAY的目的是什么? ,位于 WinNT.h? 我从 2004 年看到一篇关于它的 MSDN 博客文章,但这对我来说没有意义。 最佳答案 我假设你在谈论 this blog pos
我的程序是用 C 编写的。我想使用库 winnt.h,但我不再使用 Windows。 最佳答案 这似乎是一个奇怪的问题;您可能应该从 winnt.h 中明确您实际需要哪些函数,以便您可以学习 Linu
从 rubenvb 的 4.7.2 下载(c++.exe --version is rubenvb-4.7.2-release)中查看 winnt.h 中的定义,揭示了许多带有内联汇编的例程,这些例程
第一,抱歉我的英语不好,我是法国人,但我认为这是解决我的问题的最佳网站! 我试图将两个 dll 放入我的 jar 中:sigar-amd64-winnt.dll 和 sigar-x86-winnt.d
我有一个旧的 C++ 程序,我恢复了更新并在 Visual Studio 2019 中重新使用它。 当我尝试编译 winnt.h 时,出现错误: Windows headers require the
我有一年多没有接触过的代码,但是 DC 从 2008 年升级到 2008 R2。 AD 人员声称这不是 DC 升级,但问题在此之后立即开始。 Microsoft VBScript runtime er
我是java中sigar和 native 库编程的新手,所以也许这只是一个简单的问题,但我自己找不到结果。我在 win 7(64 位)操作系统上使用 eclipse indigo。我已采取以下步骤:
(这可能是我犯的明显错误,但现在 6 小时后我无法让它工作。) 我正尝试在我的 eclipse 项目中使用 sigar.jar 获取 CPU 信息(目前只是测试 sigar API)。 它在 ecli
尝试在 Win32 应用程序中显示对话框时出现 RC2247 错误(符号名称太长)。此文件中发生错误: C:\Program Files (x86)\Windows Kits\10\Include\1
我正在编译一个出现错误的程序,因为 winnt.h 和 ntstatus.h 都包含在 WDK 中。我用预处理编译成一个文件,发现了这个: #line 1 "C:\\Program Files (x8
将我的解决方案重新定位到 SDK 版本 10.0(最新安装的版本)(10.0.18362) 并将我的项目升级到平台工具集 v142 后,我在 winnt.h 中收到编译时错误,如下所示: ...\Wi
我是一名优秀的程序员,十分优秀!