vs2015+qt+supermap #include qmapcontrol.h后遇到:无法解析的外部符号

项目场景:

vs2015上的qt+supermap程序,继承实验室师兄原来的代码,代码里面需要使用qmapcontrol对象,在.h文件中声明了一个qmapcontrol对象,所以在开头include了qmapcontrol.h:

在这里插入图片描述


问题描述:

运行后出现了大批“无法解析的外部符号”错误(这里只截取了一部分):

1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) void __cdecl OGDC::ogdcassert(char const *,char const *,unsigned int)" (__imp_?ogdcassert@OGDC@@YAXPEBD0I@Z),该符号在函数 "public: int const & __cdecl OGDC::OgdcArray<int>::operator[](unsigned __int64)const " (??A?$OgdcArray@H@OGDC@@QEBAAEBH_K@Z) 中被引用
1>positioning_gui_application.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) void __cdecl OGDC::ogdcassert(char const *,char const *,unsigned int)" (__imp_?ogdcassert@OGDC@@YAXPEBD0I@Z)
1>moc_positioning_gui_application.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) void __cdecl OGDC::ogdcassert(char const *,char const *,unsigned int)" (__imp_?ogdcassert@OGDC@@YAXPEBD0I@Z)
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __cdecl OGDC::OgdcPoint::~OgdcPoint(void)" (__imp_??1OgdcPoint@OGDC@@QEAA@XZ),该符号在函数 "public: void * __cdecl OGDC::OgdcPoint::`scalar deleting destructor'(unsigned int)" (??_GOgdcPoint@OGDC@@QEAAPEAXI@Z) 中被引用

原因分析:

网上不少类似情况,但解决方法大都不适用,很常见的说法是缺少一些库文件巴拉巴拉,但是包含目录、库目录,附加目录等我已经按师兄的路径配好了,而且我也不知道缺少的到底是哪个库文件以及路径是什么。


解决方案:

网上解决办法试了十几种,无法解决,然后看到了这篇[error LNK2019:无法解析的外部符号]文章,一开始也没抱有多少期望,内容看起来太不像能解决问题的亚子,但还是死马当活马医试了试,由于文章里也没有提到如何能知道自己缺少哪个库文件,所以我把实验室师兄原来的“附加依赖项”里的内容搬过来,添加到我的附加依赖项里面,这个错误就没了。
附加依赖项内容(不一定都需要,有冗余):

qtmaind.lib
shell32.lib
Qt5Widgetsd.lib
Qt5Guid.lib
Qt5Cored.lib
libmysql.lib
Qt5Networkd.lib
Qt5AxBased.lib
Qt5AxServerd.lib
Qt5AxContainerd.lib
Extensions4Qt.lib
SuStreamd.lib
SuToolkitd.lib
SuElementd.lib
SuAlgorithmd.lib
SuProjectiond.lib
SuGeoOperationd.lib
SuOGDCd.lib
SuBased.lib
SuWorkspaced.lib
SuSpatialIndexd.lib
SuEngined.lib
SuGraphicsd.lib
SuSymbold.lib
SuMapd.lib
SuDrawingd.lib
SuFileParserd.lib
SuRepresentationd.lib
SuChartBased.lib
SuChartToolkitd.lib
SuBase3Dd.lib
SuTopoBased.lib
SuEngineOGDCd.lib
SuNetToolkitd.lib
SuTopoBuilderd.lib
SuSpatialQueryd.lib
SuEngineImagePlugind.lib
SuGeneralizationd.lib
SuRenderd.lib
SuSceneEditord.lib
SuMapEditord.lib
SuScened.lib
SuGraphics3Dd.lib
SuParticleSystemd.lib
SuGridModelingd.lib
SuOverlayd.lib
SuDataCheckd.lib
SuGeometryd.lib
SuGeometry3Dd.lib
SuCompactFiled.lib
SuDataExchanged.lib
Qt5Xmld.lib
Qt5XmlPatternsd.lib

p.s.本来已经一个一个试出来到底是哪些lib会导致该错误了,但我为了写这篇文章,想重新回去截个错误提示的图,就把那些附加依赖项的内容删掉了,但却忘记保存了。。害,几个小时白费,不想一个个再试了,所以只能是全部搬进去了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值