首页 文章

“序号344无法位于动态链接库中”[重复]

提问于
浏览
0

这个问题在这里已有答案:

我正在尝试使用TaskDialog创建一个消息框 . 我正在链接Comctl32.lib,但这些示例对我不起作用 . 一切都编译和链接很好,但没有我的消息框显示我得到一个不同的消息框与文本"The ordinal 344 could not be located in the dynamic link library" . 应用程序启动时似乎会出现问题,而不是在调用TaskDialog时 . 不链接Comctl32.lib将修复它,但对 TaskDialog 的任何调用都将导致未定义的引用链接器错误 .

我在Windows 10 64位上使用Visual Studio Community 2017 . 该应用程序正在编译为64位 .

为什么这些例子没有运行?

1 回答

  • 0

    TaskDialogs仅存在于ComCtl32 v6中 .

    Windows XP及更高版本(SxS)上有两个版本的ComCtl32.dll . v5.8x是默认值,您需要选择加入v6,因为可能与新的主题/视觉样式不兼容 . 大多数新功能和控件仅添加到v6 .

    要获得v6,您必须add a manifest到您的应用程序 . 建议您将清单嵌入应用程序资源中,但也可以使用外部清单;只需将XML文件命名为 yourappname.exe.manifest 即可 .

相关问题