Page 1 of 1

Fedora 20 link errors - not LUA related.

Posted: Tue Apr 01, 2014 9:00 am
by Zyrkan
Hi All,

I've been trying to get Mudlet running on an FC20 build, unfortunately I've hit a showstopper issue that I can't quite make sense of. After a few hours of getting it to compile and working out packages and correcting LUA_GLOBALINDEX issues, I'm receiving undefined reference errors for QWidget?

I've rewritten pieces that needed changing to run under Qt5, however the following errors make no sense to me:

moc_dlgNotepad.o:(.data.rel.ro._ZTV10dlgNotepad[_ZTV10dlgNotepad]+0x188): undefined reference to `QWidget::styleChange(QStyle&)'
moc_dlgNotepad.o:(.data.rel.ro._ZTV10dlgNotepad[_ZTV10dlgNotepad]+0x190): undefined reference to `QWidget::enabledChange(bool)'
moc_dlgNotepad.o:(.data.rel.ro._ZTV10dlgNotepad[_ZTV10dlgNotepad]+0x198): undefined reference to `QWidget::paletteChange(QPalette const&)'
moc_dlgNotepad.o:(.data.rel.ro._ZTV10dlgNotepad[_ZTV10dlgNotepad]+0x1a0): undefined reference to `QWidget::fontChange(QFont const&)'
moc_dlgNotepad.o:(.data.rel.ro._ZTV10dlgNotepad[_ZTV10dlgNotepad]+0x1a8): undefined reference to `QWidget::windowActivationChange(bool)'
moc_dlgNotepad.o:(.data.rel.ro._ZTV10dlgNotepad[_ZTV10dlgNotepad]+0x1b0): undefined reference to `QWidget::languageChange()'


I'm linking with the following library flags:
-L/usr/lib64 -L/usr/X11R6/lib64 -lpcre -llua -lhunspell-1.3 -L/usr/local/lib/ -lyajl -lGLU -lquazip -lzzip -lz -lzip -lQt5MultimediaWidgets -lQt5OpenGL -lQt5Multimedia -lQt5UiTools -lQt5Widgets -lQt5Network -lQt5Gui -lQt5Core -lGL -lpthread

Anyone know why that library wouldn't be available? It compiles without issue, I manually added the -lQt5Widgets flag after reading up on the missing library.

Thanks,

--Zyrkan

Re: Fedora 20 link errors - not LUA related.

Posted: Wed Apr 02, 2014 10:28 am
by Vadi
Where did you obtain the source code and how exactly are you compiling it?

This looks like a linker issue, so topics like http://www.qtcentre.org/archive/index.php/t-54362.html are relevant.