<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/146313>146313</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
LLVM can't build against LLVM and Ninja on Windows
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
sucicf1
</td>
</tr>
</table>
<pre>
I have the following toolchain file:
> set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR AMD64)
set(CMAKE_BUILD_TYPE Release)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
set(CMAKE_C_COMPILER "D:/Program Files/llvm-20.1.7-x86_64-pc-windows-msvc/bin/clang.exe")
set(CMAKE_CXX_COMPILER "D:/Program Files/llvm-20.1.7-x86_64-pc-windows-msvc/bin/clang++.exe")
set(LLVM_USE_LINKER lld)
set(CMAKE_RC_COMPILER "D:/Windows Kits/10/bin/10.0.26100.0/x64/rc.exe")
And than I use the following command:
cmake -GNinja -DLLVM_ENABLE_PROJECTS="lld;clang;lldb;" -DCMAKE_BUILD_TYPE=Release -DLLVM_HOST_TRIPLE="x86_64-pc-windows" -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_DEFAULT_TARGET_TRIPLE="x86_64-pc-windows" -DCMAKE_INSTALL_PREFIX="D:/Program Files/LLVMMy" -S llvm -B ..\llvmMy -DCMAKE_TOOLCHAIN_FILE="E:/repos/llvm-project/myToolChain.cmake"
I execute the command cmake --build .
and get the following error:
> In file included from E:/repos/llvm-project/llvm/include\llvm/ADT/ArrayRef.h:13:
E:/repos/llvm-project/llvm/include\llvm/ADT/SmallVector.h:564:5: error: reference to 'memcpy' is ambiguous
564 | memcpy(reinterpret_cast<void *>(this->end()), EltPtr, sizeof(T));
| ^
D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\vcruntime_string.h:43:15: note: candidate found by name lookup is 'memcpy'
43 | void* __cdecl memcpy(
| ^
E:/repos/llvmMy/include\llvm/IR/RuntimeLibcalls.inc:2461:3: note: candidate found by name lookup is 'llvm::RTLIB::memcpy'
2461 | memcpy = 1688, // memcpy
| ^
3 warnings and 4 errors generated.
If I add in my toolchain the following
> set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR AMD64)
it get pass the problematic point.
What am I doing wrong or is this a bug?
Thank you.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0VltvozgU_jXOy1EQ2JCkD3kgBGbYSdqKMJ32CTngJJ4xdmSbttlfvzKk9-6uVqupIsTl3L7zfee41Bi-l4zNUbRA0XJEO3tQem66mte7YLRVzWmew4HeM7AHBjslhHrgcg9WKVEfKJew44IhEiO__5EUDLMIz5J1_C2tNnebMl1Xl_E6hR9cNurBIHyB_PgTo-viKkk3m6sC4vVyEn60W3zPV8uqvLtOoWCCUcM-2pTFXZVcra_zVVqVcfElLQeHTRmXeVKt8kURF3cf_ZInrwIQxksHCGfXWu01bSHjghmEMyHu2zH2vcCbjh9nk2oSjo_1-GHANW7NfY1wtuUS4awWVO499sgQxp9ku739HfkQXiC8-CTranWzrr5v0mqVX35LCxCi-VhU8WkPzqzBN25dSYH_nDLwPd_Dk8D3Pffy0VGW6fpNeuTHsWzAHqiEHDrzXka1alsqm2f91C39xWD85ZLLnxTGy77w9DJerFKnjz_SpNwgskQYOwhkMcAmCyGaLSILhDGMl-_VgsjyrJeniF-vNmVVFvn1Kh2ifejuEKk3HmS0qcqrIebgcTubvLJZpln8fVU-S-7fQw9F5pebMl6tqusizfLbweFvxODyrE-98wacMmC8AM9DUeIe1qfnmOXV1Sr5GueXVZY_FZEOMTU7qmdhHbX6yWqLcNaeSqVE4sbZ6xlw_PV85MAeWd3ZgbczW3BmabztuGjAQ37s3u6Zfccu01rpN7shH_YFcFmLrmEN7LRq4Z-rc48IZ2eXM16Es3hZuqvW9FSwnXdAJA7IkO3_BNy0VIgbVlul-5jRJHRXROJnPKDZjmkmawZWAcLTlrX18YTwFLgB2m75vlOdQX4MEE1CQNMEnkxmmnFpmT5qZquaGotIcq94Awi7DiE8swduxoikTDYIz9wcuV8CqbDXVrs7w_9kaofwrDx_JYs-l_tzuVCUIj_udRQlb3UUJWtea2XUzsINNx0VsLFdwxWKEuxjjKIkUW3bSW5PKEpuEhQlThy956Z_DEIvDD0SYX-KouSli_e17qTlLauM1Vzu--6FjpGg755U1h0UUFPZ8IZap5RONrA9gaQtA6HUr-7oOvi6owOwkPTAXKMQjqGq6obV4qWpn8D_RANufD7SnhcIZ8VQ-opvayqE8bisEYlxOAkQicl_Lr8PTWJE4qJc5Yvh9g0mF7qvFs4oAJElBJPZzDGMcIZw9oTvNTg4wyPwQLXkcm_ADV84iNPAnkmmqWWNd57gHeRAmwa4hPb06tx-O6q_6fhGfsxtvxmO1Jg-51GrrWAttbyGo-LSngv9caAWaAs5NMpV9KCV3IPSrqNuJIDCttsjkg3m5YHKX3BS3dl91MxJc0Eu6IjNg2kU4MlkcjEdHeZh02ynmF7UmAZ-tKNTFkwvfB_j6S70azIb8Tn2ceRPiO9Polkw9WqyDZqZz8LI313gmqLQZy3lwnOsekrvR9yYjs2DcEICMhJ0y4Tp_4PCWLIH6L-6FRotR3reL59ttzco9AU31ryEsdwKNneL3akK4amFYaXSPeXSWOg_OXqH81DJJxZGnRbzg7VHM6gc4WzP7aHberVqX1bcu8XXF9af4kPl93P8VwAAAP__Ik0IgQ">