首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何消除assimp链接器错误?

如何消除assimp链接器错误?
EN

Stack Overflow用户
提问于 2022-10-12 06:17:46
回答 1查看 81关注 0票数 -1

对于那些没有理解问题的人来说,请注意:我知道链接器错误是什么。我的问题不是一般的问题,链接器错误是什么,我的问题是,特定于Assimp遗漏了一些应该存在的东西!因此,请不要关闭这个问题作为“重复”,因为这是一个Assimp特定的问题,而不是一些随机的“我的东西不是链接”的问题!

我正在使用VisualStudio2019和提供的assimp.sln获取链接器错误来构建assimp (来自GIT的最新版本):

代码语言:javascript
复制
LNK2001 unresolved external symbol "public: __cdecl aiVector3t<float>::aiVector3t<float>(class aiVector3t<float> const &)" (??0?$aiVector3t@M@@QEAA@AEBV0@@Z)   assimp  F:\wxWidgets-3\demos\assimp\code\Importer.obj   1   
LNK2001 unresolved external symbol "public: __cdecl aiColor4t<float>::aiColor4t<float>(class aiColor4t<float> const &)" (??0?$aiColor4t@M@@QEAA@AEBV0@@Z)   assimp  F:\wxWidgets-3\demos\assimp\code\X3DImporter_Rendering.obj  1   
LNK2001 unresolved external symbol "public: __cdecl aiVector2t<float>::aiVector2t<float>(class aiVector2t<float> const &)" (??0?$aiVector2t@M@@QEAA@AEBV0@@Z)   assimp  F:\wxWidgets-3\demos\assimp\code\XmlSerializer.obj  1   
LNK2019 unresolved external symbol "public: __cdecl aiVector3t<float>::aiVector3t<float>(class aiVector3t<float> const &)" (??0?$aiVector3t@M@@QEAA@AEBV0@@Z) referenced in function "public: struct aiFace * __cdecl std::vector<struct aiFace,class std::allocator<struct aiFace> >::_Emplace_reallocate<struct aiFace const &>(struct aiFace * const,struct aiFace const &)" (??$_Emplace_reallocate@AEBUaiFace@@@?$vector@UaiFace@@V?$allocator@UaiFace@@@std@@@std@@QEAAPEAUaiFace@@QEAU2@AEBU2@@Z)    assimp  F:\wxWidgets-3\demos\assimp\code\X3DGeoHelper.obj   1   
LNK2019 unresolved external symbol "public: __cdecl aiVector2t<double>::aiVector2t<double>(class aiVector2t<double> const &)" (??0?$aiVector2t@N@@QEAA@AEBV0@@Z) referenced in function "private: void __cdecl std::deque<class aiVector2t<double>,class std::allocator<class aiVector2t<double> > >::_Emplace_back_internal<class aiVector2t<double> const &>(class aiVector2t<double> const &)" (??$_Emplace_back_internal@AEBV?$aiVector2t@N@@@?$deque@V?$aiVector2t@N@@V?$allocator@V?$aiVector2t@N@@@std@@@std@@AEAAXAEBV?$aiVector2t@N@@@Z)   assimp  F:\wxWidgets-3\demos\assimp\code\IFCOpenings.obj    1   

VS在C++17模式下构建,并具有预处理选项。

代码语言:javascript
复制
 %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;ASSIMP_BUILD_DLL_EXPORT;ASSIMP_BUILD_NO_M3D_IMPORTER;ASSIMP_BUILD_NO_M3D_EXPORTER;WIN32_LEAN_AND_MEAN;UNICODE;_UNICODE;ASSIMP_BUILD_NO_EXPORT;ASSIMP_BUILD_NO_C4D_IMPORTER;ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1;RAPIDJSON_HAS_STDSTRING=1;RAPIDJSON_NOMEMBERITERATORCLASS;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;OPENDDLPARSER_BUILD;CMAKE_INTDIR="Release";assimp_EXPORTS

链接过程中缺少的对象的相关标头/类是存在的,并且是在同一个项目中构建的(至少我可以看到,如果由于某种原因,链接器错误中抱怨的对象没有生成,我不确定在链接器中使用的所有模板内容)。

知道什么可能出了问题吗?如何解决链接器的问题?

EN

回答 1

Stack Overflow用户

发布于 2022-10-19 11:09:03

最近在assimp中的一些更改以及一些特定的Visual编译器版本似乎都有问题。

当切换回assimp的5.2.0版本时,代码将正确构建。因此,这显然是由一些较新的变化引起的。一份错误报告已提交给吉特卜。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74037248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档