微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我们可以在静态库Metro Style中使用C ++ / Cx吗?

我试图移植本地sdk到Windows RT,并帮助我我想实现缺less的function来模拟registry访问,所以我创build了一个静态库(文件 – >新build – >项目…->静态库( Metro风格的应用程序),我已经宣布了这样的function:

// WinRT stuff #include <windows.storage.h> #include <wrl/client.h> #include <wrl/wrappers/corewrappers.h> using namespace Microsoft::WRL; using namespace Microsoft::WRL::Wrappers; using namespace ABI::Windows::Storage; using namespace ABI::Windows::Foundation; LSTATUS APIENTRY RegOpenKeyExW( _In_ HKEY hKey,_In_opt_ LPCWSTR lpSubKey,_In_opt_ DWORD ulOptions,_In_ REGSAM samDesired,_Out_ PHKEY phkResult ) { LSTATUS ret = ERROR_SUCCESS; if (hKey == NULL) return ERROR_INVALID_HANDLE; if (phkResult == NULL) return ERROR_INVALID_ParaMETER; ABI::Windows::Storage::ApplicationDataContainer^ localSettings = ApplicationData::Current->LocalSettings; ... }

但是,当我尝试编译我得到这个错误

1>c:usersjoedocumentsvisual studio 2012projectslib1lib1oal.cpp(275): error C3699: '^' : cannot use this indirection on type 'ABI::Windows::Storage::ApplicationDataContainer'

我已经检查和消耗Windows运行时扩展( /ZW )已启用(这是认情况下),所以我想知道是否有可能在一个静态库中使用C ++ / CX?

自动启动一个Metro应用程序

在Windows 8中将networking应用程序显示为全屏应用程序

在Windows 8 Metro应用程序中进行背景轮询的最佳方式是什么?

在Windows 8(Metro)应用程序获取hWnd的XAML控制?

将资源文件包含在Windows 8 Metro应用程序中

读取Windows Metro风格的Javascript应用程序中的文件内容

在Windowsapp store的字体重量

任何没有开发者许可的情况下安装“metro”应用程序的方式?

Chrome使用Windows 8模式

Windows App Store – 拉伸图标

如果您在类型上使用ABI前缀,那么您指的是低级C ++类型。 低级别类型旨在与WRL一起使用,不能像^运算符那样使用C ++ / CX扩展。

改用ComPtr localSettings。

好吧有人告诉我添加在图书管理员 – >一般 – >附加依赖:%(AdditionalDependencies),我已经删除了ABI ::命名空间。 现在它的工作;-)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐