c – QT 5.6静态未解析的外部符号
发布时间:2020-12-16 07:17:10 所属栏目:百科 来源:网络整理
导读:我正在使用QWidget开发一个小应用程序并静态链接Qt 5.6.我现在正在使用VS12. #include QMainWindow#include QApplicationint main(int argc,char *argv[]){ QApplication a(argc,argv); QMainWindow w; w.show(); return a.exec();} 它编译得很好,但我收到链
我正在使用QWidget开发一个小应用程序并静态链接Qt 5.6.我现在正在使用VS12.
#include <QMainWindow> #include <QApplication> int main(int argc,char *argv[]) { QApplication a(argc,argv); QMainWindow w; w.show(); return a.exec(); } 它编译得很好,但我收到链接器错误. 1>libGLESv2d.lib(global_state.obj) : error LNK2019: unresolved external symbol "unsigned long __cdecl CreateTLSIndex(void)" (?CreateTLSIndex@@YAKXZ) referenced in function "struct A0x6526a104::Current * __cdecl `anonymous namespace'::GetCurrentData(void)" (?GetCurrentData@?A0x6526a104@@YAPAUCurrent@1@XZ) 1>libGLESv2d.lib(global_state.obj) : error LNK2019: unresolved external symbol "bool __cdecl DestroyTLSIndex(unsigned long)" (?DestroyTLSIndex@@YA_NK@Z) referenced in function _DllMain_ANGLE@12 1>libGLESv2d.lib(global_state.obj) : error LNK2019: unresolved external symbol "bool __cdecl SetTLSValue(unsigned long,void *)" (?SetTLSValue@@YA_NKPAX@Z) referenced in function "struct A0x6526a104::Current * __cdecl `anonymous namespace'::AllocateCurrent(void)" (?AllocateCurrent@?A0x6526a104@@YAPAUCurrent@1@XZ) 1>libGLESv2d.lib(global_state.obj) : error LNK2019: unresolved external symbol "void * __cdecl GetTLSValue(unsigned long)" (?GetTLSValue@@YAPAXK@Z) referenced in function "void __cdecl `anonymous namespace'::DeallocateCurrent(void)" (?DeallocateCurrent@?A0x6526a104@@YAXXZ) 1>libGLESv2d.lib(Program.obj) : error LNK2019: unresolved external symbol "bool __cdecl sh::InterpolationTypesMatch(enum sh::InterpolationType,enum sh::InterpolationType)" (?InterpolationTypesMatch@sh@@YA_NW4InterpolationType@1@0@Z) referenced in function "private: static bool __cdecl gl::Program::linkValidateVaryings(class gl::InfoLog &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct sh::Varying const &,struct sh::Varying const &)" (?linkValidateVaryings@Program@gl@@CA_NAAVInfoLog@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABUVarying@sh@@2@Z) 1>libGLESv2d.lib(Program.obj) : error LNK2019: unresolved external symbol "public: struct sh::ShaderVariable & __thiscall sh::ShaderVariable::operator=(struct sh::ShaderVariable const &)" (??4ShaderVariable@sh@@QAEAAU01@ABU01@@Z) referenced in function "private: bool __thiscall gl::Program::linkAttributes(class gl::InfoLog &,class gl::AttributeBindings const &,class gl::Shader const *)" (?linkAttributes@Program@gl@@AAE_NAAVInfoLog@2@ABVAttributeBindings@2@PBVShader@2@@Z) 1>libGLESv2d.lib(Program.obj) : error LNK2019: unresolved external symbol "public: __thiscall sh::Attribute::Attribute(void)" (??0Attribute@sh@@QAE@XZ) referenced in function "public: __thiscall gl::Program::Program(class rx::ProgramImpl *,class gl::ResourceManager *,unsigned int)" (??0Program@gl@@QAE@PAVProgramImpl@rx@@PAVResourceManager@1@I@Z) 1>libGLESv2d.lib(Program.obj) : error LNK2019: unresolved external symbol "public: __thiscall sh::Attribute::~Attribute(void)" (??1Attribute@sh@@QAE@XZ) referenced in function "public: __thiscall gl::Program::Program(class rx::ProgramImpl *,unsigned int)" (??0Program@gl@@QAE@PAVProgramImpl@rx@@PAVResourceManager@1@I@Z) 1>libGLESv2d.lib(ProgramImpl.obj) : error LNK2001: unresolved external symbol "public: __thiscall sh::Attribute::~Attribute(void)" (??1Attribute@sh@@QAE@XZ) 1>libGLESv2d.lib(Program.obj) : error LNK2019: unresolved external symbol "public: struct sh::Attribute & __thiscall sh::Attribute::operator=(struct sh::Attribute const &)" (??4Attribute@sh@@QAEAAU01@ABU01@@Z) referenced in function "void __cdecl std::_Fill<struct sh::Attribute *,struct sh::Attribute>(struct sh::Attribute *,struct sh::Attribute *,struct sh::Attribute const &)" (??$_Fill@PAUAttribute@sh@@U12@@std@@YAXPAUAttribute@sh@@0ABU12@@Z) 我已经包含以下库: winmm.lib imm32.lib Ws2_32.lib opengl32.lib Qt5Guid.lib Qt5Widgetsd.lib qtpcred.lib qtharfbuzzngd.lib Qt5PlatformSupportd.lib qwindowsd.lib libEGLd.lib libGLESv2d.lib qtfreetyped.lib Qt5Cored.lib 有趣的是,如果使用QtCreator它编译,链接和运行就好了. -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_OPENGL_ES_2_ANGLE_STATIC -DGL_APICALL= -DEGLAPI= 我在我的项目中尝试了它们,但它没有改变任何东西. 解决方法
我找到了.这是使其工作所需的库列表:
winmm.lib imm32.lib Ws2_32.lib Qt5Guid.lib Qt5Widgetsd.lib qtpcred.lib qtharfbuzzngd.lib Qt5PlatformSupportd.lib qwindowsd.lib libEGLd.lib libGLESv2d.lib qtfreetyped.lib Qt5Cored.lib + preprocessord.lib + translatord.lib + d3d9.lib + dxguid.lib 不需要opengl32.lib.我仍然不知道为什么QtCreator知道需要哪些库以及为什么VS2013不需要.谢谢你的帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – RSpec和受保护的方法,current_user的控制
- postgresql – 更改列类型并设置不为null [已关闭]
- cocos2d-x 3.3 之黑白棋设计 NO.5 AI
- IEXML数据岛及遍历DOM树:
- 源码推荐:简化Swift编写的iOS动画,iOS Material Design库
- XSLT XML to XML如果不存在特定子项,则删除节点
- javascript – 运行React Native应用程序而不启动Xcode?
- cocos2dx中地图拖拽(任意方向拖拽+固定方向拖拽)
- ANYCHART中的XML数据源以及表配置
- cocos2d-x 3.2版本Mac下移植到android手机打包流程