[cfe-dev] linking error when running libTooling tutorial

Kristóf Umann via cfe-dev cfe-dev at lists.llvm.org
Mon Oct 22 05:06:08 PDT 2018


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> 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> 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
>> 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/5ad1ad27/attachment.html>


More information about the cfe-dev mailing list