KDAB / codebrowser

Woboq CodeBrowser
http://woboq.com/codebrowser.html
Other
1.09k stars 161 forks source link

Multiple compilers #59

Open incardon opened 7 years ago

incardon commented 7 years ago

It seems that the generator look into /usr/include to search include files that is the path where the default compiler put header files. On the other hand in case I have a second compiler I did not find a way to redirect such include paths to the correct place.

Is there a way to do it ?

ogoffart commented 7 years ago

the only "supported compiler" is clang that is used to build the generator. However, you can change the include paths with the -I option in the compilation database. If you don't use a compilation database, you need to use -I after the --

What exactly is the command line you use to run the generator?

incardon commented 7 years ago

Hi ogoffart

Thanks for the fast reply.

I used bear to generate a json file (compilation database) with bear make. The make file use gcc-4.9.2 as compiler (+ I also have LLVM and libclang). The default machine compiler is 4.4.7 that is not able to compile the project.

To generate I am using the standard command

codebrowser_generator -b $BUILDIRECTORY -a -o $OUTPUTDIRECTORY -p codebrowser:$BUILDIRECTORY:$VERSION codebrowser_indexgenerator $OUTPUTDIRECTORY

(With the environmental variables defined)

Now when I run codebrowser_generator I get a lot of error because it look into /usr/include/ that is the default compiler header directory.

If I understand correctly I should use clang as base compiler, and configure LLVM to look into the secondary compiler header file (not /usr/include). Is this correct ?

ogoffart commented 7 years ago

Maybe you can try to add some CXXFLAGS with -I /path/to/other/compiler/include when configuring, then this will end up in the compilation database. But if your project also compiles with clang, it might be even better to use llvm as the compiler indeed

incardon commented 7 years ago

Thanks. It compile, so I will switch completely to LLVM.

guruz commented 6 years ago

@incardon Did you suceed?

incardon commented 6 years ago

I switch to a system with one compiler avoiding the problem. At the end it worked with bear + gcc, so I did not test clang