[cfe-users] Building clang's static analyzer on Windows

christian.soltenborn at connext.de christian.soltenborn at connext.de
Tue Jul 14 02:13:13 PDT 2015


Hi once more,

ok, this is my final attempt to get some feedback. In the meantime, I have performed another try to build clang plus tooling, this time following the official documentation at http://clang.llvm.org/get_started.html - however, CMake fails due to several missing include files (due to the lack of any response on this mailing list, I save you and me the time of adding the error log to my mail). I have also discovered http://llvm.org/releases/ , where Windows distributions are available, but they do not seem to contain the static analyzer at all. I'm tempted to think that building the static analyzer on Windows is not possible or at least very difficult - otherwise, why should it be missing in the official distributions?

Therefore, my last question (which is probably mostly directed to the moderators of this list) is: Am I asking at the right place? I chose this mailing list since I do not want to develop the static analyzer, I just want to use it...

All the best
Christian


Von: cfe-users-bounces at cs.uiuc.edu [mailto:cfe-users-bounces at cs.uiuc.edu] Im Auftrag von christian.soltenborn at connext.de
Gesendet: Freitag, 10. Juli 2015 11:41
An: cfe-users at cs.uiuc.edu
Betreff: Re: [cfe-users] Building clang's static analyzer on Windows

Hi again,

no answer so far, so let me rephrase my question: Has anybody managed to build a recent version of the static analyzer for Windows platforms? If this is the case, would she or he be willing to share the executable with me?

Thanks in advance,
Christian


Von: cfe-users-bounces at cs.uiuc.edu<mailto:cfe-users-bounces at cs.uiuc.edu> [mailto:cfe-users-bounces at cs.uiuc.edu] Im Auftrag von christian.soltenborn at connext.de<mailto:christian.soltenborn at connext.de>
Gesendet: Montag, 6. Juli 2015 15:12
An: cfe-users at cs.uiuc.edu<mailto:cfe-users at cs.uiuc.edu>
Betreff: [cfe-users] Building clang's static analyzer on Windows

Hi everybody,

I'd like to evaluate the usage of Clang's static analyzer on our C++ code. However, there do not seem to be pre-compiled binaries (why? Too early in the project's lifecycle?), so I tried to build it myself, following the advice from here:

http://pete.akeo.ie/2011/10/building-and-running-clang-static.html<https://urldefense.proofpoint.com/v2/url?u=http-3A__pete.akeo.ie_2011_10_building-2Dand-2Drunning-2Dclang-2Dstatic.html&d=AwMFAg&c=8hUWFZcy2Z-Za5rBPlktOQ&r=HkOpO_AvqLiQRhM4TkA0OAkVFWLZciHjAvQWQb25mkU&m=YOgcLuzMOaZaWTkMaj1C3ZsG_yi5qcHmWUkq4Qz2-_Y&s=bX1eNsBfjAL6AkX6sF9ITk3lJP4m0ZyRj5pucEIdvsE&e=>

This works fine until issuing make in step 5 of the process, where I'm running into compile problems. Below's the output of my compilation attempt - does anybody have an idea on what's going on here?

Thanks in advance,
Christian


Output of make:

make[1]: Entering directory `/src/build/lib/Support'
llvm[1]: Compiling APFloat.cpp for Release+Asserts build
llvm[1]: Compiling APInt.cpp for Release+Asserts build
llvm[1]: Compiling APSInt.cpp for Release+Asserts build
llvm[1]: Compiling ARMBuildAttrs.cpp for Release+Asserts build
llvm[1]: Compiling ARMWinEH.cpp for Release+Asserts build
llvm[1]: Compiling Allocator.cpp for Release+Asserts build
llvm[1]: Compiling Atomic.cpp for Release+Asserts build
llvm[1]: Compiling BlockFrequency.cpp for Release+Asserts build
llvm[1]: Compiling BranchProbability.cpp for Release+Asserts build
llvm[1]: Compiling COM.cpp for Release+Asserts build
llvm[1]: Compiling CommandLine.cpp for Release+Asserts build
llvm[1]: Compiling Compression.cpp for Release+Asserts build
llvm[1]: Compiling ConvertUTF.c for Release+Asserts build
llvm[1]: Compiling ConvertUTFWrapper.cpp for Release+Asserts build
llvm[1]: Compiling CrashRecoveryContext.cpp for Release+Asserts build
llvm[1]: Compiling DAGDeltaAlgorithm.cpp for Release+Asserts build
llvm[1]: Compiling DataExtractor.cpp for Release+Asserts build
llvm[1]: Compiling DataStream.cpp for Release+Asserts build
llvm[1]: Compiling Debug.cpp for Release+Asserts build
llvm[1]: Compiling DeltaAlgorithm.cpp for Release+Asserts build
llvm[1]: Compiling Dwarf.cpp for Release+Asserts build
llvm[1]: Compiling DynamicLibrary.cpp for Release+Asserts build
In file included from D:/Clang/msys/1.0/src/llvm/lib/Support/DynamicLibrary.cpp:40:0:
D:/Clang/msys/1.0/src/llvm/lib/Support/Windows/DynamicLibrary.inc:34:56: error: 'PENUMLOADED_MODULES_CALLBACK64' has not been declared
typedef BOOL (WINAPI *fpEnumerateLoadedModules)(HANDLE,PENUMLOADED_MODULES_CALLBACK64,PVOID);
                                                        ^
D:/Clang/msys/1.0/src/llvm/lib/Support/Windows/DynamicLibrary.inc: In static member function 'static llvm::sys::DynamicLibrary llvm::sys::DynamicLibrary::getPermanentLibrary(const char*, std::string*)':
D:/Clang/msys/1.0/src/llvm/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);
                                                                 ^
/bin/rm: cannot lstat `/usr/src/build/lib/Support/Release+Asserts/DynamicLibrary.d.tmp': No such file or directory
make[1]: *** [/usr/src/build/lib/Support/Release+Asserts/DynamicLibrary.o] Error 1
make[1]: Leaving directory `/src/build/lib/Support'
make: *** [all] Error 1





E-Mail-Info:

Connext Communication GmbH

Balhorner Feld 11

D-33106 Paderborn

Geschaeftsfuehrer Joerg Kesselmeier

AG Paderborn HRB 1984

Ust-ID:DE126329091



E-Mail-Info:

Connext Communication GmbH

Balhorner Feld 11

D-33106 Paderborn

Geschaeftsfuehrer Joerg Kesselmeier

AG Paderborn HRB 1984

Ust-ID:DE126329091


E-Mail-Info:
Connext Communication GmbH  
Balhorner Feld 11
D-33106 Paderborn
Geschaeftsfuehrer Joerg Kesselmeier 
AG Paderborn HRB 1984
Ust-ID:DE126329091
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-users/attachments/20150714/103e9e48/attachment.html>


More information about the cfe-users mailing list