[lldb-dev] help, how to get a debug build on windows (python37_d.lib)

Pavel Labath via lldb-dev lldb-dev at lists.llvm.org
Mon Sep 23 04:55:34 PDT 2019


On 22/09/2019 20:20, Larry D'Anna via lldb-dev wrote:
> Hi lldb-dev.
> 
> I can’t seem to figure out how to build a debug lldb on windows.   It 
> wants to link against a debug version of Python, which isn’t there.
> 
> My cmake line looks like this:
> 
> cmake -G Ninja `
>          "-DPYTHON_HOME=C:\Program Files (x86)\Microsoft Visual 
> Studio\Shared\Python37_64" `
>          "-DLLVM_ENABLE_PROJECTS=clang;lldb;libcxx;libcxxabi;lld" `
> "-DSWIG_EXECUTABLE=C:\ProgramData\chocolatey\bin\swig.exe" `
>          "C:\Users\smoofra\llvm-project\llvm"
> 
> I also made this change, to tell it to link against the release python.
> 
> --- a/lldb/cmake/modules/LLDBConfig.cmake
> +++ b/lldb/cmake/modules/LLDBConfig.cmake
> @@ -227,7 +227,7 @@ function(find_python_libs_windows)
>     else()
>       # Lookup for concrete python installation depending on build type
>       if (CMAKE_BUILD_TYPE STREQUAL Debug)
> -      set(LOOKUP_DEBUG_PYTHON TRUE)
> +      set(LOOKUP_DEBUG_PYTHON FALSE)
>       else()
>         set(LOOKUP_DEBUG_PYTHON FALSE)
>       endif()
> 
> But somehow at the very end, the link still fails because python37_d.lib 
> isn’t there.
> 
> Anybody know what I’m doing wrong?  Thank you.
> 

Hi Larry,

I don't know the full details, but it is my understanding that due to 
how windows runtime libraries work (they have a separate debug and 
release CRT), all libraries in a single application need be linked 
against the same CRT flavour. IIRC, the default python installation does 
not come with a debug python, but it should be possible to install it 
somehow (possibly via checking some box in the installation dialog, but 
I don't remember the details).

It should also be possible to create a "fake" debug build by setting the 
CMAKE_BUILD_TYPE to Release, and enabling debug info (and disabling 
optimizations) via CMAKE_CXX_FLAGS, but it's probably better to just get 
the debug python installed.

pl


More information about the lldb-dev mailing list