我已經在QtCreator和Visual Studio 2015中試過了。我玩過不同的配置,並且據我所知我的環境設置正確。然而,每當我進行API調用(到目前爲止,我只嘗試WiFi直接調用),並建立在釋放模式,我得到這個錯誤。Qt 5.6桌面應用程序(msvc 2015)可以使用WinRT庫(C++/CX)嗎?
C2664 'long __winRT::__getActivationFactoryByPCWSTR(void *,Platform::Guid &,void **)': cannot convert argument 1 from 'const wchar_t [60]' to 'void *'
在調試我在Visual Studio中得到這些錯誤2015年
Error LNK2038 mismatch detected for '_MSC_VER': value '1800' doesn't match value '1900' in main.obj qtmaind.lib(qtmain_win.obj)
Error LNK2001 unresolved external symbol "public: virtual struct QMetaObject const * __thiscall MainWindow::metaObject(void)const " ([email protected]@@[email protected]@XZ) PROJECT mainwindow.obj
Error LNK2001 unresolved external symbol "public: virtual void * __thiscall MainWindow::qt_metacast(char const *)" ([email protected]@@[email protected]) SSLocalServer mainwindow.obj
Error LNK2001 unresolved external symbol "public: virtual int __thiscall MainWindow::qt_metacall(enum QMetaObject::Call,int,void * *)" ([email protected]@@[email protected]@@[email protected]) mainwindow.obj
Error LNK2019 unresolved external symbol "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" ([email protected]@@[email protected]) referenced in function "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall std::_System_error_category::message(int)const " ([email protected][email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@Z) qtmaind.lib(qtmain_win.obj)
簡單的問題第一。使用當前版本的Qt 5.6甚至有可能在桌面應用程序中使用WinRT API(特別是WiFi Direct)?
如果是,我錯過了什麼?編輯 - My test project. Qt目錄可能需要更改。
你確定你使用的Qt的拷貝是用你用來編譯你的應用程序的相同編譯器編譯的嗎? [這個問題](http://stackoverflow.com/q/19575747/1329652)是關於這個問題。 –
請添加一個重現問題的最小示例。確保包含完整的'.pro'文件,完整的'main.cpp'(它應該是唯一的其他源文件),以及指向您的Qt二進制文件或您使用的'configure'行的鏈接編譯你的Qt副本。 –
@KubaOber測試項目添加。我沒有編譯我自己的Qt版本。這是5.6版的社區版本,它似乎是使用不同版本的msvc編譯的debug msvc 2015調試庫。 – Simurr