[Qt-creator] error with position independent code : qt 5.x
Konstantin Tokarev
annulen at yandex.ru
Fri Sep 16 17:29:39 CEST 2016
16.09.2016, 18:09, "Tobias Hunger" <tobias.hunger at gmail.com>:
> Hi Kapil,
>
> according to the error message you will need to build your code with
> -fPIC. Not very helpful, but the best I can do with that information,
> sorry.
>
> https://cmake.org/cmake/help/v3.6/variable/CMAKE_POSITION_INDEPENDENT_CODE.html#variable:CMAKE_POSITION_INDEPENDENT_CODE
> might help though:-)
>
> You will need to figure out how to tell that to your project's build
> system. That is a task I do not expect creator being able to help with
> -- each project has its own set of particularities:-/
When Qt5Core module is linked to the target, it adds -fPIC automatically in case Qt requires it. So this error usually happens when tartget's sources include Qt headers but no Qt library is linked.
>
> Best Regards,
> Tobias
>
> On Fri, Sep 16, 2016 at 4:28 PM, Kapil Gupta <kpgupta98 at gmail.com> wrote:
>> Hi,
>>
>> I am having this error with qt code :
>> ```
>> In file included from
>> /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h:37:0,
>> from
>> /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:41,
>> from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:40,
>> from
>> /usr/include/x86_64-linux-gnu/qt5/QtMultimedia/qaudioformat.h:38,
>> from
>> /home/cortana/libdash/libdash/qtplayer/libdashframework/Buffer/AudioChunk.h:16,
>> from
>> /home/cortana/libdash/libdash/qtplayer/libdashframework/Buffer/AudioChunk.cpp:12:
>> /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1067:4: error: #error
>> "You must build your code with position independent code if Qt was built
>> with -reduce-relocations. " "Compile your code with -fPIC (-fPIE is not
>> enough)."
>> # error "You must build your code with position independent code if Qt was
>> built with -reduce-relocations. "\
>> ^
>> [ 57%] Building CXX object
>> CMakeFiles/qtsampleplayer.dir/libdashframework/Buffer/MediaObjectBuffer.cpp.o
>> [ 60%] Building CXX object
>> CMakeFiles/qtsampleplayer.dir/libdashframework/Input/DASHReceiver.cpp.o
>> [ 63%] Building CXX object
>> CMakeFiles/qtsampleplayer.dir/libdashframework/Input/MediaObject.cpp.o
>> [ 66%] Building CXX object
>> CMakeFiles/qtsampleplayer.dir/libdashframework/Input/DASHManager.cpp.o
>> CMakeFiles/qtsampleplayer.dir/build.make:389: recipe for target
>> 'CMakeFiles/qtsampleplayer.dir/libdashframework/Buffer/AudioChunk.cpp.o'
>> failed
>> make[2]: ***
>> [CMakeFiles/qtsampleplayer.dir/libdashframework/Buffer/AudioChunk.cpp.o]
>> Error 1
>> make[2]: *** Waiting for unfinished jobs....
>> In file included from
>> /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h:37:0,
>> from
>> /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:41,
>> from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:40,
>> from
>> /usr/include/x86_64-linux-gnu/qt5/QtMultimedia/qaudioformat.h:38,
>> from
>> /home/cortana/libdash/libdash/qtplayer/libdashframework/Input/DASHManager.h:23,
>> from
>> /home/cortana/libdash/libdash/qtplayer/libdashframework/Input/DASHManager.cpp:12:
>> /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1067:4: error: #error
>> "You must build your code with position independent code if Qt was built
>> with -reduce-relocations. " "Compile your code with -fPIC (-fPIE is not
>> enough)."
>> # error "You must build your code with position independent code if Qt was
>> built with -reduce-relocations. "\
>> ```
>> What can I do to remove this error? The code is the libdash library's
>> qtsampleplayer which is based on cmake.
>>
>> _______________________________________________
>> 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,
Konstantin
More information about the Qt-creator
mailing list