首页 / 浏览问题 / 组件 / 问题详情
vs+qt+supermap出现无法解析的外部符号
oneday4  (13分)  才疏学浅
9月3日, 2020
使用产品: SMO_CPP_801_13228_53527_Win 操作系统:win7 x64
数据类型: 不知
问题详细描述:

error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class UGC::UGMapEditorWnd * __cdecl QMapControl::GetUGMapWnd(void)" (__imp_?GetUGMapWnd@QMapControl@@QEAAPEAVUGMapEditorWnd@UGC@@XZ),该符号在函数 "private: void __cdecl Positioning_Gui_Application::ImportSites(class std::vector<struct LTEINCell,class std::allocator<struct LTEINCell> > &)" (?ImportSites@Positioning_Gui_Application@@AEAAXAEAV?$vector@ULTEINCell@@V?$allocator@ULTEINCell@@@std@@@std@@@Z) 中被引用

之前出现过一次该错误,然后通过添加附加依赖项,解决了,这次又出现了,关键是这个程序是另一个程序拷贝过来的,之前运行成功过,说明已添加的依赖项是够的,所以这次就不知道是什么原因了。

2 个回答

这个问题解决了,思路是从该社区其他类似问题处得到的,整体思路就是重新编译extension4qt,下面跟大家说一下解决方法:

在supermap找到sample->extensions4QT文件夹,打开里面的extensions4QT.pro(qt creator打开),

然后选择上方“构建”->"重新构建所有项目",这样就会生在新的extension4qt.dll和.lib,

这两个所在路径也好找(在sample->debug文件夹下面的x64),然后将这两个路径确认添加在vs里面了(.dll是通过属性->调试->环境->path添加,.lib是通过属性->链接器->附加库目录添加)。

确定添加完毕,再调试就不会出现这个错误了。有其他情况也可以留言讨论。
oneday4  (13分)  才疏学浅
9月4日, 2020
检查一下对应的环境路径是否添加到了系统环境变量,出现这个报错就是由于依赖库没有引用成功导致的
程逸诗  (4,429分)  名扬四海
9月3日, 2020
怎么根据这个错误,找到对应需要添加那些环境路径呢?
...