Hi People,
My problem is the following:
I have an ARM Cortex A8 based embedded device.
On this device would like I run an custom Qt application.
I build the Qt 5.0.2 framework from source for those.
Everything is OK during the building, but I don’t can compile my fist test application which uses a simple QVector instance, like this:
int main()
{
QVector<int> v;
return 0;
}
I got the following error from the linker:
g++ -Wl,-O1 -Wl,-rpath,/home/<path>/bin/lib -o masterController main.o -L/home/<path>/bin/lib -lQt5Core -lpthread
main.o: In function `main':
/home/<path>/masterController/../../../../<path>/include/QtCore/qvector.h:76: undefined reference to `QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
collect2: ld returned 1 exit status
This messages says that the linker doesn’t found any “deallocate” method which accept two unsigned long parameter. I list the libQt5Core.so lib with the following command:
readelf -Ws libQt5Core.so | grep deallocate | c++filt
and got this:
3219: 0006dfed 20 FUNC GLOBAL DEFAULT 12 QArrayData::deallocate(QArrayData*, unsigned int, unsigned int)
So I have “deallocate” method, but at compile time the parameters are identify as unsigned int -s but the linker looking for unsigned long-s.
I don’t any idea how can I fix this bug. Have anybody some tip?
Regards,
Norbert
↧