简体   繁体   中英

llvm-sys - Didn't find usable system wide LLVM. But llvm-config is installed

I have built llvm-13.0.1 from source using Visual Studio 17 2022 on Windows 11. When attempting to build llvm-sys (through external crate llvm-ir). It fails, saying:

error: No suitable version of LLVM was found system-wide or pointed to by LLVM_SYS_130_PREFIX.

I know llvm-config exists because I can use it from the command line, and it returns the correct version. I don't understand why this doesn't work. This might be a stupid question but I am really stuck.

I was also having this problem, trying to use llvm-sys on Windows. Here are some mistakes that I did that made it fail to compile just like yours.

Installation Prefix

Make sure that your LLVM installation path doesn't have any whitespace.

Mine was -DCMAKE_INSTALL_PREFIX=C:\Program Files (x86)\LLVM , which was their default install prefix. The whitespace in the installation path causes some errors when using it with llvm-sys . Later, I changed it to C:\LLVM and it worked.

Set Environment Variable

Set Environment Variable LLVM_SYS_<version>_PREFIX to the installed LLVM folder.

From CMD For LLVM-13.0.1

setx LLVM_SYS_130_PREFIX "<PATH TO LLVM WITHOUT WHITESPACE>" /M

Make sure that the variable is registered by using echo command

echo %LLVM_SYS_130_PREFIX%

It should output your registered path, not %LLVM_SYS_130_PREFIX% . If it doesn't output your path, restart the computer and try again and it should be working.

Now you should be good to go.....

Hope this helps:)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM