[lldb-dev] LLDB build at windows

Aidan Dodds via lldb-dev lldb-dev at lists.llvm.org
Tue Jan 12 07:54:31 PST 2016


Just to chip in on this thread.
I regularly build X64 LLDB using Visual Studio, but I only use it for 
debugging remote targets.
I have noticed the gtests linking error, but unfortunately due to tight 
time constraints I've not been free to fix it.
I tend to 'unload' all of the projects in Visual Studio that are not 
directly related to building LLDB, so I don't see the linking error 
often.  Also since its not a direct dependency, LLDB still builds fine 
for me.

Fixes are always nice however :)

Last I checked I was able to build LLDB in VS2013 as well as VS2015 
without problems.

On 11/01/2016 18:48, Zachary Turner via lldb-dev wrote:
> Yea, unfortunately the way things work is that the person who is 
> affected by the problem and who needs it fixed is usually the one that 
> needs to fix it.  Right now we don't have any Windows people building 
> inside Visual Studio, so nobody has fixed that.  But you're welcome to 
> submit a patch :)
>
> FWIW, I actually generate CMake twice, into two separate folders.  I 
> have build/vs and build/ninja.  In the vs directory I generate using 
> "Visual Studio 14 2015" generator, and in ninja I generate using Ninja 
> generator.  I build from the Ninja folder, and I use the vs folder 
> just for opening a solution, source browsing, and debugging (i.e. 
> change the Debugger settings to point the executable into the ninja 
> folder).
>
> This way you still do everything from vs, just not the compile step.
>
> On Mon, Jan 11, 2016 at 9:16 AM Red Skotina <red.skotina at gmail.com 
> <mailto:red.skotina at gmail.com>> wrote:
>
>     thanks. i build successefuly llvm and lldb with ninja and cl
>     compiler.
>
>     If i build VS solution without options on CMake then i have ever
>     more errors around unittests in llvm.
>
>     like that:
>
>     "d:\code\llvm\build\LLVM.sln" (целевой объект по умолчанию) (1) ->
>     "d:\code\llvm\build\unittests\ADT\ADTTests.vcxproj.metaproj"
>     (целевой объект по
>      умолчанию) (749) ->
>     "d:\code\llvm\build\unittests\ADT\ADTTests.vcxproj" (целевой
>     объект по умолчани
>     ю) (750) ->
>     (Целевой объект ClCompile) ->
>     D:\code\llvm\llvm\include\llvm/ADT/PointerEmbeddedInt.h(33): error
>     C2327: 'll
>     vm::PointerEmbeddedInt<IntT,Bits>::Value': is not a type name,
>     static, or enume
>     rator (compiling source file
>     D:\code\llvm\llvm\unittests\ADT\PointerEmbeddedInt
>     Test.cpp) [d:\code\llvm\build\unittests\ADT\ADTTests.vcxproj]
>     D:\code\llvm\llvm\include\llvm/ADT/PointerEmbeddedInt.h(33): error
>     C2065: 'Va
>     lue': undeclared identifier (compiling source file
>     D:\code\llvm\llvm\unittests\
>     ADT\PointerEmbeddedIntTest.cpp)
>     [d:\code\llvm\build\unittests\ADT\ADTTests.vcxp
>     roj]
>     D:\code\llvm\llvm\include\llvm/ADT/PointerEmbeddedInt.h(33): error
>     C2327: 'll
>     vm::PointerEmbeddedInt<int,8>::Value': is not a type name, static,
>     or enumerato
>     r (compiling source file
>     D:\code\llvm\llvm\unittests\ADT\PointerEmbeddedIntTest
>     .cpp) [d:\code\llvm\build\unittests\ADT\ADTTests.vcxproj]
>     D:\code\llvm\llvm\include\llvm/ADT/PointerEmbeddedInt.h(34): error
>     C2338: Can
>     not embed more bits than we have in a pointer! (compiling source
>     file D:\code\l
>     lvm\llvm\unittests\ADT\PointerEmbeddedIntTest.cpp)
>     [d:\code\llvm\build\unittest
>     s\ADT\ADTTests.vcxproj]
>     D:\code\llvm\llvm\include\llvm/ADT/PointerEmbeddedInt.h(39): error
>     C2327: 'll
>     vm::PointerEmbeddedInt<int,8>::Value': is not a type name, static,
>     or enumerato
>     r (compiling source file
>     D:\code\llvm\llvm\unittests\ADT\PointerEmbeddedIntTest
>     .cpp) [d:\code\llvm\build\unittests\ADT\ADTTests.vcxproj]
>     D:\code\llvm\llvm\include\llvm/ADT/PointerEmbeddedInt.h(39): error
>     C2065: 'Va
>     lue': undeclared identifier (compiling source file
>     D:\code\llvm\llvm\unittests\
>     ADT\PointerEmbeddedIntTest.cpp)
>     [d:\code\llvm\build\unittests\ADT\ADTTests.vcxp
>     roj]
>
>     2016-01-11 0:56 GMT+03:00 Zachary Turner <zturner at google.com
>     <mailto:zturner at google.com>>:
>
>         I have never built with -DLLVM_INCLUDE_TESTS=OFF
>         -DCLANG_INCLUDE_EXAMPLES=OFF -DCLANG_INCLUDE_TESTS=OFF before,
>         so that could be related.  Can you try removing those options
>         on CMake to see if that fixes it?
>
>         The other thing I do differently is I use ninja generator.  So
>         I use -G Ninja instead of -G "Visual Studio 14 2015". 
>         Building from within Visual Studio like you're doing is
>         supposed to work, I just don't know if anyone tests it.  My
>         command line is usually:
>
>         cmake -G Ninja  -DCMAKE_BUILD_TYPE=Release
>         -DPYTHON_HOME=<absolute path to python\x86 from dest variable>
>         ..\llvm
>
>         ninja
>
>
>         On Sun, Jan 10, 2016 at 4:02 AM Red Skotina
>         <red.skotina at gmail.com <mailto:red.skotina at gmail.com>> wrote:
>
>             thanks.
>             i still have 5 errors while linking
>             "d:\code\llvm\build\LLVM.sln" (целевой объект по
>             умолчанию) (1) ->
>             "d:\code\llvm\build\tools\lldb\unittests\LLDBUnitTests.vcxproj.metaproj"
>             (целев
>             ой объект по умолчанию) (741) ->
>             "d:\code\llvm\build\tools\lldb\unittests\Utility\UtilityTests.vcxproj.metaproj"
>              (целевой объект по умолчанию) (742) ->
>             "d:\code\llvm\build\tools\lldb\unittests\Utility\UtilityTests.vcxproj"
>             (целевой
>              объект по умолчанию) (743) ->
>               LINK : fatal error LNK1181: cannot open input file
>             'gtest.lib' [d:\code\llvm\
>             build\tools\lldb\unittests\Utility\UtilityTests.vcxproj]
>
>             my commands:
>
>             cmake -G "Visual Studio 14 2015"
>              -DCMAKE_BUILD_TYPE=Release -DLLVM_INCLUDE_EXAMPLES=OFF
>             -DLLVM_INCLUDE_TESTS=OFF -DCLANG_INCLUDE_EXAMPLES=OFF
>             -DCLANG_INCLUDE_TESTS=OFF -DPYTHON_HOME=<absolute path to
>             python\x86 from dest variable> ..\llvm
>
>             msbuild LLVM.sln /p:Configuration=Release;Platform=Win32
>
>             i look to llvm\tools\lldb\gtest and cant find any file.
>             here is only empty directories.
>             should i download something or should skip unittests ?
>
>             2016-01-10 6:28 GMT+03:00 Zachary Turner
>             <zturner at google.com <mailto:zturner at google.com>>:
>
>                 Should look like this:
>
>                 llvm
>                 |__ tools
>                      |__ clang
>                      |__ lld
>                      |__ lldb
>
>                 You will need clang because lldb needs to link against
>                 it, and you will need lld because lldb on Windows
>                 doesn't (yet) understand PDB, so you have to compile
>                 your programs with clang.exe -fuse-ld=lld
>
>
>
>                 On Sat, Jan 9, 2016 at 1:29 PM Red Skotina via
>                 lldb-dev <lldb-dev at lists.llvm.org
>                 <mailto:lldb-dev at lists.llvm.org>> wrote:
>
>                     If i want compile as part of llvm then what is
>                     destination directory for lldb trunk sources ?
>                     I has placed this in llvm/projects/lldb and has
>                      much errors while compiling lldb with MSVC 2015.
>
>                     "d:\code\llvm\build\LLVM.sln" (целевой объект по
>                     умолчанию) (1) ->
>                     "d:\code\llvm\build\ALL_BUILD.vcxproj.metaproj"
>                     (целевой объект по умолчанию) (
>                     2) ->
>                     "d:\code\llvm\build\projects\lldb\finish_swig.vcxproj.metaproj"
>                     (целевой объект
>                      по умолчанию) (482) ->
>                     "d:\code\llvm\build\projects\lldb\source\API\liblldb.vcxproj.metaproj"
>                     (целевой
>                      объект по умолчанию) (483) ->
>                     "d:\code\llvm\build\projects\lldb\source\Plugins\Language\ObjC\lldbPluginObjCLa
>                     nguage.vcxproj.metaproj" (целевой объект по
>                     умолчанию) (570) ->
>                     "d:\code\llvm\build\projects\lldb\source\Plugins\Language\ObjC\lldbPluginObjCLa
>                     nguage.vcxproj" (целевой объект по умолчанию) (571) ->
>                     D:\code\llvm\llvm\tools\clang\include\clang/AST/ASTFwd.h(22):
>                     fatal error C10
>                     83: Cannot open include file:
>                     'clang/AST/DeclNodes.inc': No such file or direct
>                     ory (compiling source file
>                     D:\code\llvm\llvm\projects\lldb\source\Plugins\Langu
>                     age\ObjC\Cocoa.cpp)
>                     [d:\code\llvm\build\projects\lldb\source\Plugins\Language\O
>                     bjC\lldbPluginObjCLanguage.vcxproj]
>                     D:\code\llvm\llvm\tools\clang\include\clang/AST/ASTFwd.h(22):
>                     fatal error C10
>                     83: Cannot open include file:
>                     'clang/AST/DeclNodes.inc': No such file or direct
>                     ory (compiling source file
>                     D:\code\llvm\llvm\projects\lldb\source\Plugins\Langu
>                     age\ObjC\NSArray.cpp)
>                     [d:\code\llvm\build\projects\lldb\source\Plugins\Language
>                     \ObjC\lldbPluginObjCLanguage.vcxproj]
>                     D:\code\llvm\llvm\tools\clang\include\clang/AST/ASTFwd.h(22):
>                     fatal error C10
>                     83: Cannot open include file:
>                     'clang/AST/DeclNodes.inc': No such file or direct
>                     ory (compiling source file
>                     D:\code\llvm\llvm\projects\lldb\source\Plugins\Langu
>                     age\ObjC\ObjCLanguage.cpp)
>                     [d:\code\llvm\build\projects\lldb\source\Plugins\Lan
>                     guage\ObjC\lldbPluginObjCLanguage.vcxproj]
>                     D:\code\llvm\llvm\tools\clang\include\clang/AST/ASTFwd.h(22):
>                     fatal error C10
>                     83: Cannot open include file:
>                     'clang/AST/DeclNodes.inc': No such file or direct
>                     ory (compiling source file
>                     D:\code\llvm\llvm\projects\lldb\source\Plugins\Langu
>                     age\ObjC\CF.cpp)
>                     [d:\code\llvm\build\projects\lldb\source\Plugins\Language\ObjC
>                     \lldbPluginObjCLanguage.vcxproj]
>                     D:\code\llvm\llvm\tools\clang\include\clang/Basic/DiagnosticIDs.h(53):
>                     fatal
>                     error C1083: Cannot open include file:
>                     'clang/Basic/DiagnosticCommonKinds.inc':
>                      No such file or directory (compiling source file
>                     D:\code\llvm\llvm\projects\ll
>                     db\source\Plugins\Language\ObjC\NSDictionary.cpp)
>                     [d:\code\llvm\build\projects\
>                     lldb\source\Plugins\Language\ObjC\lldbPluginObjCLanguage.vcxproj]
>                     D:\code\llvm\llvm\tools\clang\include\clang/Basic/DiagnosticIDs.h(53):
>                     fatal
>                     error C1083: Cannot open include file:
>                     'clang/Basic/DiagnosticCommonKinds.inc':
>                      No such file or directory (compiling source file
>                     D:\code\llvm\llvm\projects\ll
>                     db\source\Plugins\Language\ObjC\NSError.cpp)
>                     [d:\code\llvm\build\projects\lldb\
>                     source\Plugins\Language\ObjC\lldbPluginObjCLanguage.vcxproj]
>                     D:\code\llvm\llvm\tools\clang\include\clang/Basic/DiagnosticIDs.h(53):
>                     fatal
>                     error C1083: Cannot open include file:
>                     'clang/Basic/DiagnosticCommonKinds.inc':
>                      No such file or directory (compiling source file
>                     D:\code\llvm\llvm\projects\ll
>                     db\source\Plugins\Language\ObjC\NSException.cpp)
>                     [d:\code\llvm\build\projects\l
>                     ldb\source\Plugins\Language\ObjC\lldbPluginObjCLanguage.vcxproj]
>                     D:\code\llvm\llvm\tools\clang\include\clang/AST/ASTFwd.h(22):
>                     fatal error C10
>                     83: Cannot open include file:
>                     'clang/AST/DeclNodes.inc': No such file or direct
>                     ory (compiling source file
>                     D:\code\llvm\llvm\projects\lldb\source\Plugins\Langu
>                     age\ObjC\NSIndexPath.cpp)
>                     [d:\code\llvm\build\projects\lldb\source\Plugins\Lang
>                     uage\ObjC\lldbPluginObjCLanguage.vcxproj]
>                     D:\code\llvm\llvm\tools\clang\include\clang/AST/ASTFwd.h(22):
>                     fatal error C10
>                     83: Cannot open include file:
>                     'clang/AST/DeclNodes.inc': No such file or direct
>                     ory (compiling source file
>                     D:\code\llvm\llvm\projects\lldb\source\Plugins\Langu
>                     age\ObjC\NSSet.cpp)
>                     [d:\code\llvm\build\projects\lldb\source\Plugins\Language\O
>                     bjC\lldbPluginObjCLanguage.vcxproj]
>                     D:\code\llvm\llvm\tools\clang\include\clang/AST/ASTFwd.h(22):
>                     fatal error C10
>                     83: Cannot open include file:
>                     'clang/AST/DeclNodes.inc': No such file or direct
>                     ory (compiling source file
>                     D:\code\llvm\llvm\projects\lldb\source\Plugins\Langu
>                     age\ObjC\NSString.cpp)
>                     [d:\code\llvm\build\projects\lldb\source\Plugins\Languag
>                     e\ObjC\lldbPluginObjCLanguage.vcxproj]
>
>                     _______________________________________________
>                     lldb-dev mailing list
>                     lldb-dev at lists.llvm.org
>                     <mailto:lldb-dev at lists.llvm.org>
>                     http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>
>
>
>
>
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20160112/21ced7b5/attachment-0001.html>


More information about the lldb-dev mailing list