I think the linker message occurs because Paul is compiling a 32-bit target (x86). When the 32-bit linker is out-of-space it automatically falls back to the 64-bit linker (x64), thus the message.
Paul, there are several options here. You could perhaps use the 64-bit target instead? Such as:
mkdir buildVS && cd buildVS
cmake -G"Visual Studio 16 2019" -Thost=x64 …/llvm (your other cmake options)
The default scenario you’re seeing is
cl.exe using /Zi which offloads the PDB generation to
mspdbsrv.exe. Since the LLVM libs are quite big, something in there might be running out of memory in a 32-bit process. You should be fine if switching to 64-bit host processes.
Another option is to build with Clang instead of MSVC in which case /Zi is like /Z7.
There’s already LLVM 10.0 embedded into Visual Studio (ensure it is installed through the VS Installer, click Modify):
cmake -G “Visual Studio 16 2019” -TClangCL …/llvm (your other cmake options)
Or download & install the LLVM 11.0 release (and install the “llvm2019” extension in Visual Studio: Extensions menu, Manage Extensions, click “Online” on the left, and use the search box):
cmake -G “Visual Studio 16 2019” -Tllvm …/llvm (your other cmake options)
Another other option is to create a secondary build folder and use ninja for building, and VS for editing & debugging. This is the best in terms of iteration times I would say.
To use MSVC & Ninja you would do:
mkdir buildninja && cd buildninja
cmake -G Ninja …/llvm -DCMAKE_BUILD_TYPE=Debug -DLLVM_OPTIMIZED_TABLEGEN=ON -DLLVM_ENABLE_PROJECTS=“clang;lld;llvm” -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_ENABLE_LIBXML2=OFF
Or if you want to use LLVM 11.0 & Ninja:
cmake -G Ninja …/llvm -DCMAKE_BUILD_TYPE=Debug -DLLVM_OPTIMIZED_TABLEGEN=ON -DCMAKE_C_COMPILER=”C:/Program Files/LLVM/bin/clang-cl.exe” -DCMAKE_CXX_COMPILER=”C:/Program Files/LLVM/bin/clang-cl.exe” -DCMAKE_LINKER=”C:/Program Files/LLVM/bin/lld-link.exe” -DLLVM_ENABLE_PROJECTS=“clang;lld;llvm” -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_ENABLE_LIBXML2=OFF
Important - ensure all the above commands run in a Visual Studio cmd prompt, by first launching “x64 Native Tools Command Prompt for VS 2019” from your start menu.
Envoyé : December 8, 2020 5:14 PM