我试图让LLVM / CLang 6.0.0(在Windows x64上)处理Code :: Blocks 17.2 我与之合作的项目名为Spectrum_Tester,是一个基本的Windows项目,带有WinMain(并且没有wxWidgets)。
我已经将clang / clang ++编译成.obj文件,但是lld-link.exe会出现一堆错误,如下所示:
-------------- Build:Release32 - 在Spectrum_Tester中获胜(编译器:LLVM Clang编译器 - Win)---------------
lld-link.exe / LIBPATH:" E:\ Compilers \ Microsoft SDKs \ Windows \ v7.0 \ Lib" / LIBPATH:" E:\ Compilers \ Microsoft SDKs \ Windows \ v7.0 \ Lib \ x64" / LIBPATH:" E:\ Compilers \ Microsoft SDKs \ Windows \ v7.0 \ Lib \ IA64" /OUT:Release\Spectrum_Tester.exe" obj \ Release \ Custom Libraries \ Strings \ CIString.obj" " obj \ Release \ Custom Libraries \ Strings \ CSString.obj" " obj \ Release \ Custom Libraries \ Utils \ ston.obj" " obj \ Release \ Custom Libraries \ Utils \ UnInCh.obj" OBJ \发布\ Spectrum_Tester \ BackEnd.obj OBJ \发布\ Spectrum_Tester \ main.obj OBJ \发布\ Spectrum_Tester \ SpectrumTesterFrontImport.obj OBJ \发布\ Spectrum_Tester \ TesterLists.obj / ENTRY:WinMainCRTStartup / ERRORLIMIT:0 -s GDI32.LIB USER32 .lib kernel32.lib
lld-link.exe:警告:忽略未知参数:-s
lld-link.exe:错误::未定义符号:_WinMainCRTStartup
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Strings \ CIString.obj:undefined symbol:__ imp__free
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Strings \ CIString.obj:undefined symbol:__ imp__malloc
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Strings \ CIString.obj:undefined symbol:__ imp ____ std_terminate
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Strings \ CIString.obj:undefined symbol:__ imp__strlen
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Strings \ CIString.obj:undefined symbol:?? 3 @ YAXPAX @ Z
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Strings \ CIString.obj:undefined symbol:___ CxxFrameHandler3
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Strings \ CIString.obj:未定义的符号:?? _ 7type_info @@ 6B @
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Strings \ CSString.obj:undefined symbol:__ imp__free
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Strings \ CSString.obj:undefined symbol:__ imp__malloc
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Strings \ CSString.obj:undefined symbol:__ imp ____ std_terminate
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Strings \ CSString.obj:undefined symbol:__ imp__strlen
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Strings \ CSString.obj:undefined symbol:?? 3 @ YAXPAX @ Z
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Strings \ CSString.obj:undefined symbol:___ CxxFrameHandler3
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Strings \ CSString.obj:undefined symbol:?? _ 7type_info @@ 6B @
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Utils \ UnInCh.obj:未定义的符号:__ imp__malloc
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Utils \ UnInCh.obj:未定义的符号:__ imp__free
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Utils \ UnInCh.obj:未定义的符号:?? 3 @ YAXPAX @ Z
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Utils \ UnInCh.obj:未定义的符号:__ imp ____ std_terminate
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Utils \ UnInCh.obj:undefined symbol:___ CxxFrameHandler3
lld-link.exe:错误:obj \ Release \ Custom Libraries \ Utils \ UnInCh.obj:未定义的符号:?? _ 7type_info @@ 6B @
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:_atexit
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__ imp__time
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:?? 3 @ YAXPAX @ Z
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__ imp__fopen
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:?? 2 @ YAPAXI @ Z
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__ imp__fclose
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__ imp__feof
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__ imp__fgetc
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__ imp__free
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__ imp ____ std_terminate
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__ imp__malloc
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:_memcpy
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__ tls_index
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__ tls_array
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__Init_thread_epoch
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__Init_thread_header
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__ Init_thread_footer
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__ Init_thread_abort
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__ imp__sprintf
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:___ CxxFrameHandler3
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:?? _ 7type_info @@ 6B @
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ BackEnd.obj:未定义的符号:__ fltused
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ TesterLists.obj:未定义的符号:?? _ U @ YAPAXI @ Z
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ TesterLists.obj:未定义的符号:__ imp__free
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ TesterLists.obj:未定义的符号:__ imp ____ std_terminate
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ TesterLists.obj:未定义的符号:?? 3 @ YAXPAX @ Z
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ TesterLists.obj:未定义的符号:?? _ V @ YAXPAX @ Z
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ TesterLists.obj:未定义的符号:___ CxxFrameHandler3
lld-link.exe:错误:obj \ Release \ Spectrum_Tester \ TesterLists.obj:未定义的符号:?? _ 7type_info @@ 6B @
处理以状态1(0分钟,0秒(秒))终止
50个错误,1个警告(0分钟,0秒(秒))
如何解决这些问题?
lld-link.exe应该与MS Visual Studio的link.exe,FWIW几乎完全兼容。
另外,我尝试使用/ SUBSYSTEM:WINDOWS和/ SUBSYSTEM:WINDOWS代替/ ENTRY:WinMainCRTStartup使用命令行并得到相同的结果。