machinekoder / MachinekitClient

Client for Machinekit based on QtQuickVcp
3 stars 6 forks source link

Windows 8 64 bit: MachineClient does not find HalRemote/machinekithalremoteplugin.dll #4

Closed sirop closed 8 years ago

sirop commented 8 years ago

I can build MachineClient for Win 8 64 bit with msvc2013, however when being started from within QtCreator the latter yields:

Starte D:\MachinekitClient\buildx64_msvc2013\release\machinekit-client.exe...
qml: Starting to load the main application.
qrc:///main.qml:33:1: plugin cannot be loaded for module "Machinekit.HalRemote":
Die Bibliothek D:/Qt/qt-5.4.2-x64-msvc2013-rev0/qt-5.4.2-x64-msvc2013-rev0/qml/Machinekit/HalRemote/machinekithalremoteplugin.dll kann nicht geladen werden: Das angegebene Modul wurde nicht gefunden.
qml: Finishing the splash screen progress bar.
qml: Hiding the splash screen.
qml: Deleting the splash screen.
D:\MachinekitClient\buildx64_msvc2013\release\machinekit-client.exe beendet, Rückgabewert 0

although:

$ ls D:/Qt/qt-5.4.2-x64-msvc2013-rev0/qt-5.4.2-x64-msvc2013-rev0/qml/Machinekit/HalRemote/
Controls  machinekithalremoteplugin.dll  qmldir

machinekithalremoteplugin.dll is there.

machinekoder commented 8 years ago

Compiling works fine? Did you follow these steps here: https://github.com/strahlex/QtQuickVcp/wiki/Installing-protobuf-and-zeromq#windows

I was not able to get it running. That's why there are no 64bit builds so far.

sirop commented 8 years ago

Yes, compiling works fine with msvc2013 x64 , although the compilation of QtQuickVcp yields over 1000 warnings: https://gist.github.com/sirop/1eed3cc6ded3533e48b5 .

I used Community and not Express edition of Visual Studio, but I do not think that the compilers in both editions are different.

sirop commented 8 years ago

This line

[ ? ]  LIBZMQ.DLL       Error opening file. Das System kann die angegebene Datei nicht finden (2).

about libzmq.dll being not found is from text output of Dependency Walker for d:\qt\qt-5.4.2-x64-msvc2013-opengl-rev0\qt-5.4.2-x64-msvc2013-opengl-rev0\qml\machinekit\halremote\MACHINEKITHALREMOTEPLUGIN.DLL

It was not quite clear to me where libzmq.dll has to be copied to.

I do not give up the idea of 64 bit build, just postpone it for a while.

sirop commented 8 years ago

Ok. I slept a night over it. Do not know what happened yesterday, maybe, I just mixed up some paths. Anyway I got further with Win x64 build:

MachineClient Startup

That's the application output from the QtCreator:

Starte D:\QtProjects\MachinekitClient\build_x64_msvc2013_opengl_Release\release\machinekit-client.exe...
qml: Starting to load the main application.
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
qml: Main application loaded.
qml: Finishing the splash screen progress bar.
qml: Hiding the splash screen.
qml: Deleting the splash screen.

So I am at least one step further now with x64 build as MachineClient does not crash any more right at the splash screen as seen before.

Besides mixing up some paths the choice of Qt 5.4.2 build with opengl might be the reason, as before I erroneously used Qt 5.4.2 without opengl. http://sourceforge.net/projects/qt64ng/files/qt/x86-64/5.4.2/msvc2013/qt-5.4.2-x64-msvc2013-opengl-rev0.exe/download

machinekoder commented 8 years ago

I don't think so. But I assume you followed https://github.com/strahlex/QtQuickVcp/wiki/Installing-protobuf-and-zeromq#windows ? Did you copy the dlls to the lib folder (the description "correct folder" is not very clear I agree). You have to copy it to the folder where all the other .dll files are located. I think it is either lib or bin in QtSDK/msvc*/5.5/ Please let me know which folder it is so I can update it accordingly (have no Windows machine at hand to check it out)

sirop commented 8 years ago

Yes, I copied libzmq.dll to D:\Qt\qt-5.4.2-x64-msvc2013-opengl-rev0\qt-5.4.2-x64-msvc2013-opengl-rev0\bin .

machinetalk-protobuf.lib is also in D:\Qt\qt-5.4.2-x64-msvc2013-opengl-rev0\qt-5.4.2-x64-msvc2013-opengl-rev0\bin , but I do no remember if I copied it manually.

machinekoder commented 8 years ago

Can we close this issue?