[cfe-dev] linking error when running libTooling tutorial

Lou Wynn via cfe-dev cfe-dev at lists.llvm.org
Mon Oct 22 05:16:34 PDT 2018


Nice, adding clangFrontend works! The tutorial needs an update.

Thanks.

Love,
Lou

On 10/22/18 8:06 PM, Kristóf Umann wrote:
> Shouldn't it be this?:
> set(LLVM_LINK_COMPONENTS Support)
>
> add_clang_executable(loop-convert
>   LoopConvert.cpp
>   )
> target_link_libraries(loop-convert
>   PRIVATE
>   clangFrontend
>   clangTooling
>   clangBasic
>   clangASTMatchers
>   )
>
> Lou Wynn <lewisurn at gmail.com <mailto:lewisurn at gmail.com>> ezt írta 
> (időpont: 2018. okt. 22., H, 13:59):
>
>     I've already added. This is my CMakeLists.txt:
>
>     set(LLVM_LINK_COMPONENTS Support)
>
>     add_clang_executable(loop-convert
>       LoopConvert.cpp
>       )
>     target_link_libraries(loop-convert
>       PRIVATE
>       clangTooling
>       clangBasic
>       clangASTMatchers
>       )
>
>     Love,
>     Lou
>
>     On 10/22/18 7:18 PM, Kristóf Umann wrote:
>>     Try adding clangFrontend to target_link_libraries in CMakeLists.txt.
>>
>>     Lou Wynn via cfe-dev <cfe-dev at lists.llvm.org
>>     <mailto:cfe-dev at lists.llvm.org>> ezt írta (időpont: 2018. okt.
>>     22., H, 12:14):
>>
>>         I followed the libTooling tutorial at here:
>>         http://clang.llvm.org/docs/LibASTMatchersTutorial.html to
>>         write the loop-convert program. When I built it, I got the
>>         following error (I used the unofficial monorepo to build clang):
>>
>>
>>         $ ninja loop-convert
>>         [1/1] Linking CXX executable bin/loop-convert
>>         FAILED: : && /usr/bin/clang++-6.0 -fPIC
>>         -fvisibility-inlines-hidden -Werror=date-time
>>         -Werror=unguarded-availability-new -std=c++11 -Wall -Wextra
>>         -Wno-unused-parameter -Wwrite-strings -Wcast-qual
>>         -Wmissing-field-initializers -pedantic -Wno-long-long
>>         -Wcovered-switch-default -Wno-noexcept-type
>>         -Wnon-virtual-dtor -Wdelete-non-virtual-dtor
>>         -Wstring-conversion -fdiagnostics-color -fno-common
>>         -Woverloaded-virtual -Wno-nested-anon-types -g 
>>         -fuse-ld=lld-6.0 -Wl,--color-diagnostics
>>         -Wl,-allow-shlib-undefined
>>         tools/clang/tools/extra/loop-convert/CMakeFiles/loop-convert.dir/LoopConvert.cpp.o
>>         -o bin/loop-convert lib/libLLVMSupport.so.8svn -lpthread
>>         lib/libclangTooling.so.8svn lib/libclangBasic.so.8svn
>>         lib/libclangASTMatchers.so.8svn -Wl,-rpath,"\$ORIGIN/../lib" && :
>>         /usr/bin/ld.lld-6.0: error: undefined symbol:
>>         clang::PCHContainerOperations::PCHContainerOperations()
>>         >>> referenced by new_allocator.h:120
>>         (/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h:120)
>>         >>>
>>         tools/clang/tools/extra/loop-convert/CMakeFiles/loop-convert.dir/LoopConvert.cpp.o:(void
>>         __gnu_cxx::new_allocator<clang::PCHContainerOperations>::construct<clang::PCHContainerOperations>(clang::PCHContainerOperations*))
>>
>>         /usr/bin/ld.lld-6.0: error: undefined symbol: vtable for
>>         clang::SyntaxOnlyAction
>>         >>> referenced by FrontendActions.h:158
>>         (/home/lu/work/git-repos/llvm-mono/llvm-project/clang/include/clang/Frontend/FrontendActions.h:158)
>>         >>>
>>         tools/clang/tools/extra/loop-convert/CMakeFiles/loop-convert.dir/LoopConvert.cpp.o:(clang::SyntaxOnlyAction::SyntaxOnlyAction())
>>
>>         /usr/bin/ld.lld-6.0: error: undefined symbol:
>>         clang::FrontendAction::FrontendAction()
>>         >>> referenced by FrontendAction.h:253
>>         (/home/lu/work/git-repos/llvm-mono/llvm-project/clang/include/clang/Frontend/FrontendAction.h:253)
>>         >>>
>>         tools/clang/tools/extra/loop-convert/CMakeFiles/loop-convert.dir/LoopConvert.cpp.o:(clang::ASTFrontendAction::ASTFrontendAction())
>>
>>         /usr/bin/ld.lld-6.0: error: undefined symbol: vtable for
>>         clang::ASTFrontendAction
>>         >>> referenced by FrontendAction.h:253
>>         (/home/lu/work/git-repos/llvm-mono/llvm-project/clang/include/clang/Frontend/FrontendAction.h:253)
>>         >>>
>>         tools/clang/tools/extra/loop-convert/CMakeFiles/loop-convert.dir/LoopConvert.cpp.o:(clang::ASTFrontendAction::ASTFrontendAction())
>>         clang: error: linker command failed with exit code 1 (use -v
>>         to see invocation)
>>         ninja: build stopped: subcommand failed.
>>
>>
>>         Can anyone point me to the right direction to fix it?
>>
>>         Thanks.
>>
>>         -- 
>>         Love,
>>         Lou
>>
>>         _______________________________________________
>>         cfe-dev mailing list
>>         cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
>>         http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20181022/9f48ae40/attachment.html>


More information about the cfe-dev mailing list