Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Problems installing Clang in windows

I've been trying to install clang in virtual machine with windows xp, first I try with the Pre-Built Binaries of clang for Windows from this page: LLVM Download and I was getting this error:

Failed to find MSBuild toolset directory

So, I try to compile clang following the step explain in this question: Compiling Clang in Windows, but I'm also getting an error:

In file included from C:\llvm-3.7.0.src\lib\Support\DynamicLibrary.cpp:40:0:
C:\llvm-3.7.0.src\lib\Support\Windows/DynamicLibrary.inc:34:56: error: 'PENUMLOA
DED_MODULES_CALLBACK64' has not been declared
typedef BOOL (WINAPI *fpEnumerateLoadedModules)(HANDLE,PENUMLOADED_MODULES_CALL
BACK64,PVOID);
                                                    ^
C:\llvm-3.7.0.src\lib\Support\Windows/DynamicLibrary.inc: In static member funct
ion 'static llvm::sys::DynamicLibrary llvm::sys::DynamicLibrary::getPermanentLib
rary(const char*, std::string*)':
C:\llvm-3.7.0.src\lib\Support\Windows/DynamicLibrary.inc:70:65: error:  invalid conversion from 'BOOL (__attribute__((__stdcall__)) *)(PSTR, DWORD64, ULONG, PVOID) {aka int (__attribute__((__stdcall__)) *)(char*, long long unsigned int, long
unsigned int, void*)}' to 'int' [-fpermissive]
 fEnumerateLoadedModules(GetCurrentProcess(), ELM_Callback, 0);
                                                             ^
lib\Support\CMakeFiles\LLVMSupport.dir\build.make:1912: recipe for  target 'lib/S
upport/CMakeFiles/LLVMSupport.dir/DynamicLibrary.cpp.obj' failed
mingw32-make[2]: *** [lib/Support/CMakeFiles/LLVMSupport.dir/DynamicLibrary.cpp.
obj] Error 1
CMakeFiles\Makefile2:200: recipe for target 'lib/Support/CMakeFiles/LLVMSupport.
dir/all' failed
mingw32-make[1]: *** [lib/Support/CMakeFiles/LLVMSupport.dir/all] Error 2
Makefile:148: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

So I really don't know what to do at this point or what am I doing wrong, so any help in this topic will be helpful.

like image 779
SujaM Avatar asked Dec 01 '15 20:12

SujaM


1 Answers

You can see "IoT Development with PlatformIO", which showcases the same error message.

http://electronicsworkbench.io/user/pages/02.blog/platformio/clang-install-error.jpg

Checking the installed files, I found an install.bat in the C:\Program Files\LLVM\tools\msbuild directory.
It searches for the MSBuild toolset directory in places like "%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\Platforms\%PLATFORM%\PlatformToolsets", and copies some files from LLVM to the MSBuild directory if it finds them.
Otherwise the above error is thrown.
This confirmed that the error is not relevant for this environment, we can just ignore it.

In your case, you might not be able to ignore it, so double-check the content/existence of that folder.

like image 172
VonC Avatar answered Oct 12 '22 00:10

VonC