Qt调用MFC的dll或者lib出错
2011-11-18 10:45
423 查看
Qt调用MFC的dll或者lib出错
需要把以前用MFC写的工程移植到Qt上,工程比较大,就暂且先移植界面部分,dll库和lib库暂时不移植。用VS2005创建Qt工程,工程 本身能够写一些包含MFC特性的东西(如CString),在调用dll库或者lib库时,调用一般类型的函数返回值(int型)可以成功,但如果其中的 函数有CString或者std::wstring类型的返回值时,编译不能通过。链接出错信息如下:
Linking...
qt_app.obj : error LNK2019: unresolved external symbol "public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > __thiscall LibAdd::GetString(void)" (?GetString@LibAdd@@QAE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@XZ) referenced in function "private: void __thiscall Qt_App::OnOKButton(void)" (?OnOKButton@Qt_App@@AAEXXZ)
qt_app.obj : error LNK2019: unresolved external symbol "public: class ATL::CStringT<unsigned short,class StrTraitMFC_DLL<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > __thiscall LibAdd::GetCString(void)" (?GetCString@LibAdd@@QAE?AV?$CStringT@GV?$StrTraitMFC_DLL@GV?$ChTraitsCRT@G@ATL@@@@@ATL@@XZ) referenced in function "private: void __thiscall Qt_App::OnOKButton(void)" (?OnOKButton@Qt_App@@AAEXXZ)
也听说Qt官方公布了一个移植框架Qt Winmigrate,但这个框架还只能在win32平台跑,工程需要在win32和wince平台运行,没法用。
还尝试过用QTCreater创建工程,在pro文件中添加 LIBS += D:\WorkPlace\QtWin32\Win32_Lib2.lib,出错信息一样。
没辙了,请高手指点一下。
设置如下可解决:
project, C++/language/Treat wchar_t as build-in type 是true
相关文章推荐
- Qt调用MFC的dll或者lib出错
- MFC下DLL/lib的调用
- MFC下DLL/lib的调用
- 可以供MFC调用的,QT实现的DLL(使用qt-solutions的qtwinmigrate实现)
- vlc的应用之八:MFC调用libvlc.dll
- vlc的应用之八:MFC调用libvlc.dll
- 在MFC中调用DLL文件(只有DLL,无lib,无头文件)
- VS或者Qt调用外部动态链接库dll的方法
- MFC下DLL/lib的调用
- _stdcall与_cdecl区别 (QT 加载MFC的dll时,要注意的"_stdcall"或者CALLBACK的问题)
- QT程序打包出错:缺少dll或者应用程序无法启动
- MFC调用Qt生成的dll
- mfc调用qt的dll
- MFC下DLL/lib的调用
- vlc的应用之八:MFC调用libvlc.dll
- mfc扩展dll 的调用以及dll中creat出错分析
- 利用MFC调用libvlc.dll作一个简单的播放器
- GPU(CUDA)学习日记(二)--------VS2010不同工程之间调用DLL或者LIB
- MFC模块的动态链接库DLL以及静态链接库LIB编译后的调用
- MFC模块的动态链接库DLL以及静态链接库LIB编译后的调用