clang-uml: Unable to Build on Windows and LLVM 17
I’ve been trying to use clang-uml
with some of our projects, but we use LLVM
17.x
. After following the build instructions found here, I get the errors below when trying to build clang-uml
(clang-umllib
builds fine).
Versions
clang-uml
: 0.4.2
LLVM
: 17.0.6
CMake
: 3.27.9
Visual Studio
: 17.8.3
Error details
Error LNK2019: unresolved external symbol "public: void __cdecl clang::ast_matchers::internal::BoundNodesTreeBuilder::addMatch(class clang::ast_matchers::internal::BoundNodesTreeBuilder const &)" (?addMatch@BoundNodesTreeBuilder@internal@ast_matchers@clang@@QEAAXAEBV1234@@Z) referenced in function "private: bool __cdecl clang::ast_matchers::MatchDescendantVisitor::match<class clang::Stmt>(class clang::Stmt const &)" (??$match@VStmt@clang@@@MatchDescendantVisitor@ast_matchers@clang@@AEAA_NAEBVStmt@2@@Z)
Error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicAllOfMatcher<class clang::Stmt> const clang::ast_matchers::stmt" (?stmt@ast_matchers@clang@@3V?$VariadicAllOfMatcher@VStmt@clang@@@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xeafd01d6@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z)
Error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::DeclStmt> const clang::ast_matchers::declStmt" (?declStmt@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VDeclStmt@2@@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xeafd01d6@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z)
Error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::CallExpr> const clang::ast_matchers::callExpr" (?callExpr@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VCallExpr@2@@internal@12@B) referenced in function "class clang::ast_matchers::internal::Matcher<class clang::Stmt> __cdecl clang::ast_matchers::isInUnspecifiedPointerContext(class clang::ast_matchers::internal::Matcher<class clang::Stmt>)" (?isInUnspecifiedPointerContext@ast_matchers@clang@@YA?AV?$Matcher@VStmt@clang@@@internal@12@V3412@@Z)
Error LNK2001: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::CXXConstructExpr> const clang::ast_matchers::cxxConstructExpr" (?cxxConstructExpr@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VCXXConstructExpr@2@@internal@12@B)
Error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::ArraySubscriptExpr> const clang::ast_matchers::arraySubscriptExpr" (?arraySubscriptExpr@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VArraySubscriptExpr@2@@internal@12@B) referenced in function "public: static class clang::ast_matchers::internal::BindableMatcher<class clang::Stmt> __cdecl `anonymous namespace'::ArraySubscriptGadget::matcher(void)" (?matcher@ArraySubscriptGadget@?A0xeafd01d6@@SA?AV?$BindableMatcher@VStmt@clang@@@internal@ast_matchers@clang@@XZ)
Error LNK2001: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::CXXOperatorCallExpr> const clang::ast_matchers::cxxOperatorCallExpr" (?cxxOperatorCallExpr@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VCXXOperatorCallExpr@2@@internal@12@B)
Error LNK2001: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Decl,class clang::FunctionDecl> const clang::ast_matchers::functionDecl" (?functionDecl@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VDecl@clang@@VFunctionDecl@2@@internal@12@B)
Error LNK2001: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::Expr> const clang::ast_matchers::expr" (?expr@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VExpr@2@@internal@12@B)
Error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::BinaryOperator> const clang::ast_matchers::binaryOperator" (?binaryOperator@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VBinaryOperator@2@@internal@12@B) referenced in function "class clang::ast_matchers::internal::Matcher<class clang::Stmt> __cdecl clang::ast_matchers::isInUnspecifiedPointerContext(class clang::ast_matchers::internal::Matcher<class clang::Stmt>)" (?isInUnspecifiedPointerContext@ast_matchers@clang@@YA?AV?$Matcher@VStmt@clang@@@internal@12@V3412@@Z)
Error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::UnaryOperator> const clang::ast_matchers::unaryOperator" (?unaryOperator@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VUnaryOperator@2@@internal@12@B) referenced in function "public: static class clang::ast_matchers::internal::BindableMatcher<class clang::Stmt> __cdecl DerefSimplePtrArithFixableGadget::matcher(void)" (?matcher@DerefSimplePtrArithFixableGadget@@SA?AV?$BindableMatcher@VStmt@clang@@@internal@ast_matchers@clang@@XZ)
Error LNK2019: unresolved external symbol "struct clang::ast_matchers::internal::VariadicOperatorMatcherFunc<2,4294967295> const clang::ast_matchers::eachOf" (?eachOf@ast_matchers@clang@@3U?$VariadicOperatorMatcherFunc@$01$0PPPPPPPP@@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xeafd01d6@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z)
Error LNK2019: unresolved external symbol "struct clang::ast_matchers::internal::VariadicOperatorMatcherFunc<2,4294967295> const clang::ast_matchers::anyOf" (?anyOf@ast_matchers@clang@@3U?$VariadicOperatorMatcherFunc@$01$0PPPPPPPP@@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xeafd01d6@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z)
Error LNK2019: unresolved external symbol "struct clang::ast_matchers::internal::VariadicOperatorMatcherFunc<2,4294967295> const clang::ast_matchers::allOf" (?allOf@ast_matchers@clang@@3U?$VariadicOperatorMatcherFunc@$01$0PPPPPPPP@@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xeafd01d6@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z)
Error LNK2019: unresolved external symbol "struct clang::ast_matchers::internal::VariadicOperatorMatcherFunc<1,1> const clang::ast_matchers::unless" (?unless@ast_matchers@clang@@3U?$VariadicOperatorMatcherFunc@$00$00@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xeafd01d6@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z)
Error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::DeclRefExpr> const clang::ast_matchers::declRefExpr" (?declRefExpr@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VDeclRefExpr@2@@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xeafd01d6@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z)
Error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Type,class clang::PointerType> const clang::ast_matchers::pointerType" (?pointerType@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VType@clang@@VPointerType@2@@internal@12@B) referenced in function "__cdecl clang::ast_matchers::hasPointerType(void)" (?hasPointerType@ast_matchers@clang@@YA@XZ)
Error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Decl,class clang::VarDecl> const clang::ast_matchers::varDecl" (?varDecl@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VDecl@clang@@VVarDecl@2@@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xeafd01d6@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z)
Error LNK2001: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Decl,class clang::CXXConstructorDecl> const clang::ast_matchers::cxxConstructorDecl" (?cxxConstructorDecl@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VDecl@clang@@VCXXConstructorDecl@2@@internal@12@B)
Error LNK2019: unresolved external symbol "public: static class clang::ast_matchers::internal::DynTypedMatcher __cdecl clang::ast_matchers::internal::DynTypedMatcher::constructVariadic(enum clang::ast_matchers::internal::DynTypedMatcher::VariadicOperator,class clang::ASTNodeKind,class std::vector<class clang::ast_matchers::internal::DynTypedMatcher,class std::allocator<class clang::ast_matchers::internal::DynTypedMatcher> >)" (?constructVariadic@DynTypedMatcher@internal@ast_matchers@clang@@SA?AV1234@W4VariadicOperator@1234@VASTNodeKind@4@V?$vector@VDynTypedMatcher@internal@ast_matchers@clang@@V?$allocator@VDynTypedMatcher@internal@ast_matchers@clang@@@std@@@std@@@Z) referenced in function "public: __cdecl clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasLHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasRHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> > > &,class clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasRHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasLHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> > > &>::operator<class clang::BinaryOperator> class clang::ast_matchers::internal::Matcher<class clang::BinaryOperator>(void)&& " (??$?BVBinaryOperator@clang@@@?$VariadicOperatorMatcher@AEAV?$VariadicOperatorMatcher@V?$VariadicOperatorMatcher@V?$PolymorphicMatcher@Vmatcher_hasOperatorName0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VUnaryOperator@2@@234@@ZV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@internal@ast_matchers@clang@@V1234@V1234@V1234@@internal@ast_matchers@clang@@V?$PolymorphicMatcher@Vmatcher_hasLHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@V?$PolymorphicMatcher@Vmatcher_hasRHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@@internal@ast_matchers@clang@@AEAV?$VariadicOperatorMatcher@V?$PolymorphicMatcher@Vmatcher_hasOperatorName0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VUnaryOperator@2@@234@@ZV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@internal@ast_matchers@clang@@V?$PolymorphicMatcher@Vmatcher_hasRHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@V?$PolymorphicMatcher@Vmatcher_hasLHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@@234@@internal@ast_matchers@clang@@QEHAA?AV?$Matcher@VBinaryOperator@clang@@@123@XZ)
Error LNK2019: unresolved external symbol "public: static class clang::ast_matchers::internal::DynTypedMatcher __cdecl clang::ast_matchers::internal::DynTypedMatcher::trueMatcher(class clang::ASTNodeKind)" (?trueMatcher@DynTypedMatcher@internal@ast_matchers@clang@@SA?AV1234@VASTNodeKind@4@@Z) referenced in function "class clang::ast_matchers::internal::BindableMatcher<class clang::ArrayInitIndexExpr> __cdecl clang::ast_matchers::internal::makeAllOfComposite<class clang::ArrayInitIndexExpr>(class llvm::ArrayRef<class clang::ast_matchers::internal::Matcher<class clang::ArrayInitIndexExpr> const *>)" (??$makeAllOfComposite@VArrayInitIndexExpr@clang@@@internal@ast_matchers@clang@@YA?AV?$BindableMatcher@VArrayInitIndexExpr@clang@@@012@V?$ArrayRef@PEBV?$Matcher@VArrayInitIndexExpr@clang@@@internal@ast_matchers@clang@@@llvm@@@Z)
Error LNK2019: unresolved external symbol "public: class clang::ast_matchers::internal::DynTypedMatcher __cdecl clang::ast_matchers::internal::DynTypedMatcher::dynCastTo(class clang::ASTNodeKind)const " (?dynCastTo@DynTypedMatcher@internal@ast_matchers@clang@@QEBA?AV1234@VASTNodeKind@4@@Z) referenced in function "public: __cdecl clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasLHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasRHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> > > &,class clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasRHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasLHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> > > &>::operator<class clang::BinaryOperator> class clang::ast_matchers::internal::Matcher<class clang::BinaryOperator>(void)&& " (??$?BVBinaryOperator@clang@@@?$VariadicOperatorMatcher@AEAV?$VariadicOperatorMatcher@V?$VariadicOperatorMatcher@V?$PolymorphicMatcher@Vmatcher_hasOperatorName0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VUnaryOperator@2@@234@@ZV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@internal@ast_matchers@clang@@V1234@V1234@V1234@@internal@ast_matchers@clang@@V?$PolymorphicMatcher@Vmatcher_hasLHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@V?$PolymorphicMatcher@Vmatcher_hasRHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@@internal@ast_matchers@clang@@AEAV?$VariadicOperatorMatcher@V?$PolymorphicMatcher@Vmatcher_hasOperatorName0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VUnaryOperator@2@@234@@ZV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@internal@ast_matchers@clang@@V?$PolymorphicMatcher@Vmatcher_hasRHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@V?$PolymorphicMatcher@Vmatcher_hasLHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@@234@@internal@ast_matchers@clang@@QEHAA?AV?$Matcher@VBinaryOperator@clang@@@123@XZ)
Error LNK2019: unresolved external symbol "public: bool __cdecl clang::ast_matchers::internal::DynTypedMatcher::matches(class clang::DynTypedNode const &,class clang::ast_matchers::internal::ASTMatchFinder *,class clang::ast_matchers::internal::BoundNodesTreeBuilder *)const " (?matches@DynTypedMatcher@internal@ast_matchers@clang@@QEBA_NAEBVDynTypedNode@4@PEAVASTMatchFinder@234@PEAVBoundNodesTreeBuilder@234@@Z) referenced in function "private: bool __cdecl clang::ast_matchers::MatchDescendantVisitor::match<class clang::Stmt>(class clang::Stmt const &)" (??$match@VStmt@clang@@@MatchDescendantVisitor@ast_matchers@clang@@AEAA_NAEBVStmt@2@@Z)
Error LNK2019: unresolved external symbol "public: class std::optional<class clang::ast_matchers::internal::DynTypedMatcher> __cdecl clang::ast_matchers::internal::DynTypedMatcher::tryBind(class llvm::StringRef)const " (?tryBind@DynTypedMatcher@internal@ast_matchers@clang@@QEBA?AV?$optional@VDynTypedMatcher@internal@ast_matchers@clang@@@std@@VStringRef@llvm@@@Z) referenced in function "public: class clang::ast_matchers::internal::Matcher<class clang::Stmt> __cdecl clang::ast_matchers::internal::BindableMatcher<class clang::Stmt>::bind(class llvm::StringRef)const " (?bind@?$BindableMatcher@VStmt@clang@@@internal@ast_matchers@clang@@QEBA?AV?$Matcher@VStmt@clang@@@234@VStringRef@llvm@@@Z)
Error LNK2019: unresolved external symbol "public: bool __cdecl clang::ast_matchers::internal::ASTMatchFinder::isTraversalIgnoringImplicitNodes(void)const " (?isTraversalIgnoringImplicitNodes@ASTMatchFinder@internal@ast_matchers@clang@@QEBA_NXZ) referenced in function "public: virtual bool __cdecl clang::ast_matchers::internal::HasDeclarationMatcher<class clang::CXXConstructExpr,class clang::ast_matchers::internal::Matcher<class clang::Decl> >::matches(class clang::CXXConstructExpr const &,class clang::ast_matchers::internal::ASTMatchFinder *,class clang::ast_matchers::internal::BoundNodesTreeBuilder *)const " (?matches@?$HasDeclarationMatcher@VCXXConstructExpr@clang@@V?$Matcher@VDecl@clang@@@internal@ast_matchers@2@@internal@ast_matchers@clang@@UEBA_NAEBVCXXConstructExpr@4@PEAVASTMatchFinder@234@PEAVBoundNodesTreeBuilder@234@@Z)
Error LNK2001: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Decl,class clang::CXXMethodDecl> const clang::ast_matchers::cxxMethodDecl" (?cxxMethodDecl@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VDecl@clang@@VCXXMethodDecl@2@@internal@12@B)
Error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::HasAnyOperatorNameMatcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::UnaryOperator>),class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > __cdecl clang::ast_matchers::internal::hasAnyOperatorNameFunc(class llvm::ArrayRef<class llvm::StringRef const *>)" (?hasAnyOperatorNameFunc@internal@ast_matchers@clang@@YA?AV?$PolymorphicMatcher@VHasAnyOperatorNameMatcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VUnaryOperator@2@@234@@ZV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@@123@V?$ArrayRef@PEBVStringRef@llvm@@@llvm@@@Z) referenced in function "__cdecl clang::ast_matchers::isInUnspecifiedLvalueContext(class clang::ast_matchers::internal::Matcher<class clang::Expr>)" (?isInUnspecifiedLvalueContext@ast_matchers@clang@@YA@V?$Matcher@VExpr@clang@@@internal@12@@Z)
Error LNK2001: unresolved external symbol "public: virtual class llvm::StringRef __cdecl clang::ast_matchers::MatchFinder::MatchCallback::getID(void)const " (?getID@MatchCallback@MatchFinder@ast_matchers@clang@@UEBA?AVStringRef@llvm@@XZ)
Error LNK2001: unresolved external symbol "public: virtual class std::optional<enum clang::TraversalKind> __cdecl clang::ast_matchers::MatchFinder::MatchCallback::getCheckTraversalKind(void)const " (?getCheckTraversalKind@MatchCallback@MatchFinder@ast_matchers@clang@@UEBA?AV?$optional@W4TraversalKind@clang@@@std@@XZ)
Error LNK2019: unresolved external symbol "public: __cdecl clang::ast_matchers::MatchFinder::MatchFinder(struct clang::ast_matchers::MatchFinder::MatchFinderOptions)" (??0MatchFinder@ast_matchers@clang@@QEAA@UMatchFinderOptions@012@@Z) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xeafd01d6@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z)
Error LNK2019: unresolved external symbol "public: __cdecl clang::ast_matchers::MatchFinder::~MatchFinder(void)" (??1MatchFinder@ast_matchers@clang@@QEAA@XZ) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xeafd01d6@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z)
Error LNK2019: unresolved external symbol "public: void __cdecl clang::ast_matchers::MatchFinder::addMatcher(class clang::ast_matchers::internal::Matcher<class clang::Stmt> const &,class clang::ast_matchers::MatchFinder::MatchCallback *)" (?addMatcher@MatchFinder@ast_matchers@clang@@QEAAXAEBV?$Matcher@VStmt@clang@@@internal@23@PEAVMatchCallback@123@@Z) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xeafd01d6@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z)
Error LNK2019: unresolved external symbol "public: void __cdecl clang::ast_matchers::MatchFinder::match(class clang::DynTypedNode const &,class clang::ASTContext &)" (?match@MatchFinder@ast_matchers@clang@@QEAAXAEBVDynTypedNode@3@AEAVASTContext@3@@Z) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xeafd01d6@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z)
Error LNK2019: unresolved external symbol "public: virtual __cdecl clang::ast_matchers::MatchFinder::MatchCallback::~MatchCallback(void)" (??1MatchCallback@MatchFinder@ast_matchers@clang@@UEAA@XZ) referenced in function "public: virtual __cdecl `class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)'::`2'::GadgetFinderCallback::~GadgetFinderCallback(void)" (??1GadgetFinderCallback@?1??findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xeafd01d6@@U?$default_delete@VFixableGadget@?A0xeafd01d6@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xeafd01d6@@U?$default_delete@VWarningGadget@?A0xeafd01d6@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xeafd01d6@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@5@_N@Z@UEAA@XZ)
Error LNK1120: 34 unresolved externals
About this issue
- Original URL
- State: closed
- Created 7 months ago
- Comments: 23 (12 by maintainers)
Commits related to this issue
- Fix manual parsing of Windows source location paths (#217) — committed to bkryza/clang-uml by bkryza 7 months ago
- Merge pull request #220 from bkryza/fix-source-location-extraction-on-windows Fix manual parsing of Windows source location paths (#217) — committed to bkryza/clang-uml by bkryza 7 months ago
@DeveloperPaul123 I’ve already setup 17.0.6 on my Windows - I’ll try to publish a new release by the end of year…
@DeveloperPaul123 Thanks for checking, I’ve merged it to master.
@DeveloperPaul123 I found one bug in path handling that might have caused it on your environment, but I still wasn’t to reproduce it on mine.
If possible, could you retry with this branch
fix-source-location-extraction-on-windows
?@DeveloperPaul123 Please try rebuilding with the latest
master
, apparently since LLVM 17 the AST matchers were moved to a separate libraryclangASTMatchers
(at least on Windows), which needed to be specified in CMake.I’m not sure if this will solve all your issues, but at least you should be able to compile
clang-uml
- I haven’t done any testing against C++23 projects on Windows yet…@DeveloperPaul123 Ok, I’ll try to reproduce it.
@DeveloperPaul123 TBH I haven’t reproduced these steps in a while, these days to test if it works on Windows I just run this script from the main project directory (please adjust the prefix inside it):
https://github.com/bkryza/clang-uml/blob/master/build.ps1
It’s possible that for LLVM 17 on Windows there is slightly different set of required LLVM libraries specified in CMake here. In particular there is an IF:
So maybe on LLVM 17 it needs to adjusted in yet another way… I’ll investigate.