gpt4 book ai didi

c++ - 在 Windows 7 的 wpf 窗口中创建 OpenGL 控件时出错

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:46:57 25 4
gpt4 key购买 nike

我已经用 C++ 创建了一个 OpenGL 控件,并希望在 WPF 应用程序中使用它。我已经成功地完成了这项工作,它在 Vista 和 XP 机器上运行良好,但是当我在 Windows 7 机器上打开我的项目时,WPF 设计窗口将不会显示。当我尝试运行程序时出现异常:

“无法创建在程序集‘LabUserInterface、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null’中定义的‘Window1’的实例。调用的目标已抛出异常。标记文件中有错误'Window1.xaml' 第 1 行位置 9。”

'LabUserInterface' 是我的 OpenGL 东西所在的地方。我在 WPF 窗口中也有这个错误:

“在程序集‘PresentationFramework,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35’中键入‘MS.Internal.Permissions.UserInitiatedNavigationPermission’未标记为可序列化。”

最佳答案

两种可能性:

1) 要测试的 UAC、路径问题、依赖路径问题、.NET 安全或其他一些权限问题(可能以管理员身份运行)。或者确保您的程序集对所有依赖项和正确的权限具有可见性(即,如果在 bin 文件夹中或在应用程序旁边是私有(private)的,如果在 gac 中或在应用程序空间之外是公共(public)的)。

2) 此外,请确保您可以在 win7 机器上运行 OpenGL。可能是视频驱动程序或试图枚举卡上的视频配置文件的东西。更新您的视频卡驱动程序。如果使用共享的 OpenGL 版本,请确保它存在于机器上。

我知道当您在 .NET 中创建 C++ 控件时,安全问题是首要问题。确保您的 C++ 控件可以看到 opengl dll(如果共享)并且它们位于加载路径中(如果所有其他方法都无法确保它们可以被看到或在私有(private)中本地,则将它们全部放在 C:\windows\system32 中程序集文件夹(bin))。

我们在 PVR 的图像工具包中遇到了同样的问题,结果发现一个 dll 不在依赖路径中。 DependencyWalker 是一个很好的工具,用于检查:http://dependencywalker.com/

关于c++ - 在 Windows 7 的 wpf 窗口中创建 OpenGL 控件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2245195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com