Recipe to compile Mudlet on Windows

User avatar
kevutian
Posts: 217
Joined: Fri Aug 20, 2010 8:18 pm
Location: United Kingdom
Contact:

Re: Recipe to compile Mudlet on Windows

Post by kevutian »

About what? That looks fine to me.

You can safely ignore 99% of "warnings" - It's errors that mess things up :)

Filion
Posts: 93
Joined: Sat Mar 26, 2011 4:21 pm

Re: Recipe to compile Mudlet on Windows

Post by Filion »

g++ -c -O2 -O3 -Wno-deprecated -Wno-unused-parameter -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_PHONON_LIB -DQT_XML
_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"..\..\QtSDK\4.7.3\inc
lude\QtUiTools" -I"..\..\QtSDK\4.7.3\include\QtCore" -I"..\..\QtSDK\4.7.3\include\QtNetwork" -I"..\..\QtSDK\4.7.3\include\QtGui" -I"..\..\QtSDK\4.7.3\include\QtOpenGL" -I"..\..\QtSDK\4.
7.3\include\QtXml" -I"..\..\QtSDK\4.7.3\include\phonon" -I"..\..\QtSDK\4.7.3\include\QtWebKit" -I"..\..\QtSDK\4.7.3\include" -I"." -I"..\..\includes\lua-5.1.4\src" -I"..\..\includes\zli
b123-dll\include" -I"..\..\includes\boost_1_47_0" -I"..\..\includes\pcre-8.13" -I"..\..\includes\lloyd-yajl-17b1790\src" -I"..\..\includes\hunspell-1.3.2\src" -I"irc\include" -I"..\..\Q
tSDK\4.7.3\include\ActiveQt" -I"..\..\QtSDK\4.7.3\include\phonon_compat" -I"tmp" -I"." -I"..\..\QtSDK\4.7.3\mkspecs\win32-g++" -o tmp\qrc_mudlet_alpha.o release\qrc_mudlet_alpha.cpp
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -Wl,-subsystem,windows -o release\mudlet.exe object_script.mudlet.Release -L"c:\
mudlet\mudlet_package\QtSDK\4.7.3\lib" -lglu32 -lopengl32 -lgdi32 -luser32 -lmingw32 -lqtmain -L..\..\mudlet_libs -llua51 -lpcre -lhunspell -lyajl -lQtWebKit4 -lphonon4 -lQtOpenGL4 -lQt
Network4 -lQtUiTools -LC:\OpenSSL-Win32_full\lib -lQtXml4 -lQtGui4 -lQtCore4
./tmp\dlgConnectionProfiles.o:dlgConnectionProfiles.cpp:(.text+0x66b0): undefined reference to `luaInterface::luaInterface(Host*)'
./tmp\dlgConnectionProfiles.o:dlgConnectionProfiles.cpp:(.text+0x6757): undefined reference to `luaInterface::getVars(QTreeWidgetItem*, int, bool)'
./tmp\dlgTriggerEditor.o:dlgTriggerEditor.cpp:(.text+0x1ea91): undefined reference to `dlgVarsMainArea::dlgVarsMainArea(QWidget*)'
./tmp\dlgTriggerEditor.o:dlgTriggerEditor.cpp:(.text+0x25005): undefined reference to `dlgVarsMainArea::dlgVarsMainArea(QWidget*)'
./tmp\dlgTriggerEditor.o:dlgTriggerEditor.cpp:(.text+0x2af5a): undefined reference to `luaInterface::luaInterface(Host*)'
./tmp\dlgTriggerEditor.o:dlgTriggerEditor.cpp:(.text+0x2af7f): undefined reference to `luaInterface::getVars(QTreeWidgetItem*, int, bool)'
./tmp\dlgTriggerEditor.o:dlgTriggerEditor.cpp:(.text+0x42016): undefined reference to `luaInterface::luaInterface(Host*)'
./tmp\dlgTriggerEditor.o:dlgTriggerEditor.cpp:(.text+0x42688): undefined reference to `luaInterface::getValue(QTreeWidgetItem*)'
./tmp\dlgTriggerEditor.o:dlgTriggerEditor.cpp:(.text+0x431c3): undefined reference to `luaInterface::getValue(QTreeWidgetItem*)'
./tmp\dlgTriggerEditor.o:dlgTriggerEditor.cpp:(.text+0x43551): undefined reference to `luaInterface::luaInterface(Host*)'
./tmp\dlgTriggerEditor.o:dlgTriggerEditor.cpp:(.text+0x44199): undefined reference to `luaInterface::luaInterface(Host*)'
./tmp\dlgTriggerEditor.o:dlgTriggerEditor.cpp:(.text+0x44802): undefined reference to `luaInterface::saveVar(QTreeWidgetItem*, QString, QString, int)'
./tmp\dlgTriggerEditor.o:dlgTriggerEditor.cpp:(.text+0x44b12): undefined reference to `luaInterface::deleteVar(QTreeWidgetItem*)'
./tmp\dlgTriggerEditor.o:dlgTriggerEditor.cpp:(.text+0x4f874): undefined reference to `luaInterface::luaInterface(Host*)'
./tmp\dlgTriggerEditor.o:dlgTriggerEditor.cpp:(.text+0x4f886): undefined reference to `luaInterface::deleteVar(QTreeWidgetItem*)'
./tmp\TLuaInterpreter.o:TLuaInterpreter.cpp:(.text+0x3cdcd): undefined reference to `luaInterface::lua_panic(lua_State*)'
./tmp\TTreeWidget.o:TTreeWidget.cpp:(.text+0x2c93): undefined reference to `luaInterface::luaInterface(Host*)'
./tmp\TTreeWidget.o:TTreeWidget.cpp:(.text+0x2cf3): undefined reference to `luaInterface::deleteVar(QTreeWidgetItem*)'
./tmp\TTreeWidget.o:TTreeWidget.cpp:(.text+0x3595): undefined reference to `luaInterface::restoreVar(QStringList)'
./tmp\XMLexport.o:XMLexport.cpp:(.text+0x9a8f): undefined reference to `luaInterface::luaInterface(Host*)'
./tmp\XMLexport.o:XMLexport.cpp:(.text+0x9c26): undefined reference to `luaInterface::getValue(QTreeWidgetItem*)'
./tmp\XMLimport.o:XMLimport.cpp:(.text+0x7511): undefined reference to `luaInterface::luaInterface(Host*)'
./tmp\XMLimport.o:XMLimport.cpp:(.text+0x7f4c): undefined reference to `luaInterface::restoreVar(QStringList)'
./tmp\mudlet.o:mudlet.cpp:(.text+0x7c8): undefined reference to `dlgPackageExporter::dlgPackageExporter(QWidget*, Host*)'
./tmp\mudlet.o:mudlet.cpp:(.text+0x197c0): undefined reference to `luaInterface::luaInterface(Host*)'
./tmp\mudlet.o:mudlet.cpp:(.text+0x19854): undefined reference to `luaInterface::getVars(QTreeWidgetItem*, int, bool)'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\mudlet.exe] Error 1
mingw32-make[1]: Leaving directory `C:/mudlet/mudlet_package/mudlet.git/src'
mingw32-make: *** [release] Error 2

C:\mudlet\mudlet_package\mudlet.git\src>

and i only get one source file in the mudlet.git/src/release. Not the exit

User avatar
kevutian
Posts: 217
Joined: Fri Aug 20, 2010 8:18 pm
Location: United Kingdom
Contact:

Re: Recipe to compile Mudlet on Windows

Post by kevutian »

I recall having to make a few changes as per: http://wiki.mudlet.org/w/Compiling_Mudlet (See bottom.)

Sorry, I don't have access to a windows box at the moment, else I'd have a tinker.

User avatar
chris
Posts: 493
Joined: Fri Jun 17, 2011 5:39 am

Re: Recipe to compile Mudlet on Windows

Post by chris »

There aren't any errors in that. I compile on windows these days so the src.pro in my repo's /src dir should work for you as well.

The changes you'd need to make would be here:
"C:\QtSDK\Desktop\Qt\4.8.1\mingw\lib" \
"C:\QtSDK\Desktop\Qt\4.8.1\mingw\include"\
"C:\QtSDK\Desktop\Qt\4.8.1\mingw\include\QtCore" \

If they don't reflect your path, change it so they do. This src.pro will build in Qt Creator as well.

User avatar
chris
Posts: 493
Joined: Fri Jun 17, 2011 5:39 am

Re: Recipe to compile Mudlet on Windows

Post by chris »

This is your problem I think:
/tmp\mudlet.o:mudlet.cpp:(.text+0x7c8): undefined reference to `dlgPackageExporter::dlgPackageExporter(QWidget*, Host*)'

You aren't using my src.pro, which has this new package exporter in it. Use my src.pro, with the needed modifications and you should be good.

Filion
Posts: 93
Joined: Sat Mar 26, 2011 4:21 pm

Re: Recipe to compile Mudlet on Windows

Post by Filion »

Should I do your 4th step:
"4) copy src.pro from /mudlet_package to /mudlet_package/mudlet.git/src"
also there are varius instances of src.pro, one in mudlet_package, one in mudlet.git and one in src. Why is that?

Filion
Posts: 93
Joined: Sat Mar 26, 2011 4:21 pm

Re: Recipe to compile Mudlet on Windows

Post by Filion »

Filion wrote:Should I do your 4th step:
"4) copy src.pro from /mudlet_package to /mudlet_package/mudlet.git/src"
also there are varius instances of src.pro, one in mudlet_package, one in mudlet.git and one in src. Why is that?

Also chris, if i try to compile with the latest src.pro file i get from your depository, errors with declaration are being raised..

edit: Qt version is 4.7.4 and not 4.8.1
edit2: also Qt\...\mingw\include\QtCore doesn't exist but
QtSDK\4.7.3\include\QtCore does.

User avatar
chris
Posts: 493
Joined: Fri Jun 17, 2011 5:39 am

Re: Recipe to compile Mudlet on Windows

Post by chris »

Like I said above:
You probably need to change these directories in src.pro to your own:
"C:\QtSDK\Desktop\Qt\4.8.1\mingw\lib" \
"C:\QtSDK\Desktop\Qt\4.8.1\mingw\include"\
"C:\QtSDK\Desktop\Qt\4.8.1\mingw\include\QtCore" \

I use the latest 4.8.1, not the Qt that's included with the package here. The version in the package works just as well though, you just need to change the path.

Filion
Posts: 93
Joined: Sat Mar 26, 2011 4:21 pm

Re: Recipe to compile Mudlet on Windows

Post by Filion »

I did change to

C:\Mudlet2\mudlet_package\QtSDK\4.7.3\lib" \
"C:\Mudlet2\mudlet_package\QtSDK\4.7.3\include"\
"C:\Mudlet2\mudlet_package\QtSDK\4.7.3\include\QtCore"
where QtSDk is located, to no avail though the errors that i get is the ones that I gave in the previous page.

Filion
Posts: 93
Joined: Sat Mar 26, 2011 4:21 pm

Re: Recipe to compile Mudlet on Windows

Post by Filion »

Ok there we go. I also changed the path at the lines
EXTERNAL_INCLUDES = "C:\mudlet_package\includes"
win32:LIBS += -L"C:\mudlet_package\mudlet_libs" \

to my path specific and now it seems to compile.

Edit, now it stopped with that error. I ve changed the paths as Chris said, among others.
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\mudlet.exe object_script.mudlet.Debug -L"c:\Mudlet2\mud
let_package\QtSDK\4.7.3\lib" -lglu32 -lopengl32 -lgdi32 -luser32 -lmingw32 -lqtmaind -LC:\mudlet2\mudlet_package\mudlet_libs -llua51 -lpcre -lhunspell -lyajl -lQtWebKitd -lphonond -lQtX
mld -lQtOpenGLd -lQtGuid -lQtNetworkd -lQtCored -lQtUiToolsd
c:/mudlet2/mudlet_package/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot find -lqtmaind
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\mudlet.exe] Error 1
mingw32-make[1]: Leaving directory `C:/Mudlet2/mudlet_package/mudlet.git/src'
mingw32-make: *** [debug] Error 2

C:\Mudlet2\mudlet_package\mudlet.git\src>qmake

Post Reply