[Qt-creator] Code completion doesn't work with ClangCodeModel

Yang Fan missdeer at gmail.com
Tue Jan 14 10:06:20 CET 2014


Hi,

One more question, which target should be built with the option -fPIE or
-fPIC? The libclang so? The ClangCodeModel plugin? The QtCreator IDE? Or my
own project edited by QtCreator?


On Tue, Jan 14, 2014 at 4:47 PM, Bernhard Seßler <
bernhard.sessler at corscience.de> wrote:

> Hi,
>
> as far as I can see, you've got another problem: the binaries from
> qt-project.org were configured with the -reduce-relocations switch (and
> thus
> build with the -fPIC compiler switch), which means that your executable /
> library also must be compiled with position independent code activated
> (see:
> http://en.wikipedia.org/wiki/Position-independent_code).
>
> All in all it's just adding the -fPIE (when building an executable) or
> -fPIC
> command line switch (when building a library) to the compiler arguments
> (in case
> you're using gcc).
>
> E.g. using CMake as build system (>= 2.8.9), it's as simple as:
>
> set(CMAKE_POSITION_INDEPENDENT_CODE ON)
>
> to enable generating position independent code for all top level targets,
> or
>
> set_target_properties(<target> PROPERTIES POSITION_INDEPENDENT_CODE ON)
>
> to enable it only for the given <target>.
>
>
> Regards,
> Bernhard
>
> On 14.01.2014 01:56, Yang Fan wrote:
> > Hi,
> >
> > I have dumpped the error messages, seemly it's caused by the Qt 5.2
> > binaries. I'm using the binaries downloaded from
> > http://qt-project.org/downloads.
> >
> > *** Reparse for highlighting took 481 ms.
> > "error" "/home/tvu/Qt5.2.0/5.2.0/gcc_64/include/QtCore/qglobal.h"
> > [996:4(33790)] ""You must build your code with position independent code
> if
> > Qt was built with -reduce-relocations. "         "Compile your code with
> > -fPIC or -fPIE."
> >   in file included from /home/tvu/Shareware/istkani/src/main.cpp:1:
> >   in file included from /home/tvu/Shareware/istkani/src/main.cpp:1:
> >   in file included from
> > /home/tvu/Qt5.2.0/5.2.0/gcc_64/include/QtWidgets/QApplication:1:
> >   in file included from
> > /home/tvu/Qt5.2.0/5.2.0/gcc_64/include/QtWidgets/qapplication.h:45:
> >   in file included from
> > /home/tvu/Qt5.2.0/5.2.0/gcc_64/include/QtCore/qcoreapplication.h:45:"
> > "error" "/opt/intel/composer_xe_2013.0.079/compiler/include/math.h"
> > [27:3(742)] ""This Intel <math.h> is for use with only the Intel
> compilers!"
> >   in file included from /home/tvu/Shareware/istkani/src/main.cpp:1:
> >   in file included from /home/tvu/Shareware/istkani/src/main.cpp:4:
> >   in file included from
> > /home/tvu/Qt5.2.0/5.2.0/gcc_64/include/QtQml/QtQml:3:
> >   in file included from
> > /home/tvu/Qt5.2.0/5.2.0/gcc_64/include/QtQml/QtQmlDepends:2:
> >   in file included from
> > /home/tvu/Qt5.2.0/5.2.0/gcc_64/include/QtCore/QtCore:65:
> >   in file included from
> > /home/tvu/Qt5.2.0/5.2.0/gcc_64/include/QtCore/qmath.h:49:"
> > "error" "/home/tvu/Shareware/istkani/src/main.cpp" [46:5(1373)] "no
> member
> > named 'QDir' in 'QFont'"
> > "error" "/home/tvu/Shareware/istkani/src/main.cpp" [57:10(1716)] "use of
> > undeclared identifier 'dir'; did you mean 'div'?
> >   'div' declared here"
> > "error" "/home/tvu/Shareware/istkani/src/main.cpp" [57:10(1716)] "member
> > reference base type 'div_t (int, int) throw()' is not a structure or
> union"
> > "error" "/home/tvu/Shareware/istkani/src/main.cpp" [57:14(1720)] "member
> > reference base type 'div_t (int, int) throw()' is not a structure or
> union"
> > "error" "/home/tvu/Shareware/istkani/src/main.cpp" [59:9(1792)] "use of
> > undeclared identifier 'dir'; did you mean 'div'?
> >   'div' declared here"
> > "error" "/home/tvu/Shareware/istkani/src/main.cpp" [59:9(1792)] "member
> > reference base type 'div_t (int, int) throw()' is not a structure or
> union"
> > "error" "/home/tvu/Shareware/istkani/src/main.cpp" [59:13(1796)] "member
> > reference base type 'div_t (int, int) throw()' is not a structure or
> union"
> > "error" "/home/tvu/Shareware/istkani/src/main.cpp" [60:9(1812)] "use of
> > undeclared identifier 'dir'; did you mean 'div'?
> >   'div' declared here"
> > "error" "/home/tvu/Shareware/istkani/src/main.cpp" [60:9(1812)] "member
> > reference base type 'div_t (int, int) throw()' is not a structure or
> union"
> > "error" "/home/tvu/Shareware/istkani/src/main.cpp" [60:13(1816)] "member
> > reference base type 'div_t (int, int) throw()' is not a structure or
> union"
> > "error" "/home/tvu/Shareware/istkani/src/main.cpp" [61:28(1872)] "use of
> > undeclared identifier 'dir'; did you mean 'div'?
> >   'div' declared here"
> > "error" "/home/tvu/Shareware/istkani/src/main.cpp" [61:28(1872)] "member
> > reference base type 'div_t (int, int) throw()' is not a structure or
> union"
> > "error" "/home/tvu/Shareware/istkani/src/main.cpp" [61:32(1876)] "member
> > reference base type 'div_t (int, int) throw()' is not a structure or
> union"
> > *** Highlighting took 491 ms in total.
> > *** Fast re-indexing took 0 ms in total.
> > /home/tvu/Qt5.2.0/5.2.0/gcc_64/include/QtCore/qglobal.h:996:4: error:
> "You
> > must build your code with position independent code if Qt was built with
> > -reduce-relocations. "         "Compile your code with -fPIC or -fPIE."
> > /opt/intel/composer_xe_2013.0.079/compiler/include/math.h:27:3: error:
> > "This Intel <math.h> is for use with only the Intel compilers!"
> > /home/tvu/Shareware/istkani/src/main.cpp:48:5: error: no member named
> > 'QDir' in 'QFont'
> > /home/tvu/Shareware/istkani/src/main.cpp:57:10: error: use of undeclared
> > identifier 'dir'
> > /home/tvu/Shareware/istkani/src/main.cpp:59:9: error: use of undeclared
> > identifier 'dir'
> > /home/tvu/Shareware/istkani/src/main.cpp:60:9: error: use of undeclared
> > identifier 'dir'
> > /home/tvu/Shareware/istkani/src/main.cpp:61:28: error: use of undeclared
> > identifier 'dir'
> > ... Completion done in 3313 ms, with 146 items.
> >
> >
> >
> > On Mon, Jan 13, 2014 at 6:07 PM, Erik Verbruggen
> > <erik.verbruggen at digia.com>wrote:
> >
> >> On 11-1-2014 3:07, Yang Fan wrote:
> >> > Hi,
> >> >
> >> > I have built the ClangCodeModel plugin successfully with Qt5.2 on Mac
> OS
> >> > X 10.9 and on Debian Wheezy, but after I enabled the plugin and
> selected
> >> > the Code Model in Preference dialog, the code completion feature
> doesn't
> >> > work. When I typed a dot follows an object name, no candidate list
> >> > appears. Any suggestion?
> >>
> >> Can you run with the environment variable QTC_CLANG_VERBOSE set (value
> >> doesn't matter), and check stdout? That should show the libclang
> >> invocations plus any errors while parsing.
> >>
> >> -- Erik.
> >>
> >> _______________________________________________
> >> Qt-creator mailing list
> >> Qt-creator at qt-project.org
> >> http://lists.qt-project.org/mailman/listinfo/qt-creator
> >>
> >
> >
> >
> >
> >
> > _______________________________________________
> > Qt-creator mailing list
> > Qt-creator at qt-project.org
> > http://lists.qt-project.org/mailman/listinfo/qt-creator
> >
> _______________________________________________
> Qt-creator mailing list
> Qt-creator at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/qt-creator
>



-- 
Regards,
Fan Yang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qt-creator/attachments/20140114/3a66f364/attachment.html>


More information about the Qt-creator mailing list