Qt application failed to run in a Pc without QT (windeployqt used) - windows

I have a QT 5.7 (VS 2013) app running properly on my PC (with QT installed), and I want to launch it in a PC without QT.
I have used 'windeployqt' to add all required libraries and folders to my binary path, and a lot of them have been added there.
I rename the 'QT' folder, to simulate another PC, and I launch the .exe file, but it fails:
Qt WebEngine ICU data not found at C:/Qt/5.7/msvc2013/resources. Trying parent directory...
Qt WebEngine ICU data not found at C:/Qt/5.7/msvc2013. Trying application directory...
Qt WebEngine ICU data not found at D:/Projects/SpontaniaQML/Spontania-Desktop/Release. Trying fallback directory... The application MAY NOT work.
ModLoad: 00000000`0e8e0000 00000000`0e981000 C:\Windows\SysWOW64\advapi32.dll
ModLoad: 00000000`0e8e0000 00000000`0e8f7000 C:\Windows\SysWOW64\userenv.dll
Installed Qt WebEngine locales directory not found at location C:/Qt/5.7/msvc2013/translations\qtwebengine_locales. Trying application directory...
(bfc.1ca4): WOW64 breakpoint - code 4000001f (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
*** WARNING: Unable to verify checksum for D:\Projects\MyProject\Release\Qt5WebEngineCore.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for D:\Projects\MyProject\Release\Qt5WebEngineCore.dll -
Qt5WebEngineCore!GetHandleVerifier+0x22c71:
579c8d61 cc int 3
Is it an ICU problem? I have not found any of these libraries in my QT path to add to my binary folder...
Thanks in advance,
Diego

I have found my problem. In my PATH variable I had references to QT 5.5, not to QT 5.7. Updated that, the app runs properly

Related

Tesseract .net on macos, how to reference libdl.dylib on macOS12?

I'm running a .net application that requires a reference to libdl.so
System.DllNotFoundException : Unable to load shared library 'libdl.so' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(liblibdl.so, 0x0001): tried: 'liblibdl.so' (no such file), '/usr/local/lib/liblibdl.so' (no such file), '/usr/lib/liblibdl.so' (no such file), '/Users/Amplicity/Documents/liblibdl.so' (no such file)
After some light reading, i found that libdl.so is the linux equivalent of libdl.dylib, I then tried to find libdl.dylib on my machine.
➜ lib locate libdl.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libdl.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/watchOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libdl.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libdl.dylib
There are only tvos, watchos, and ios signed libdl.dylib's available. Some more light reading reveals that somewhere around xcode 7, .dylib files were replaced with .tbd, which is a text file that references dylibs elsewhere.
➜ lib locate libdl.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/usr/lib/libdl.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator.sdk/usr/lib/libdl.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libdl.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/usr/lib/libdl.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform/Developer/SDKs/WatchSimulator.sdk/usr/lib/libdl.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libdl.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libdl.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/lib/libdl.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX12.0.sdk/usr/lib/libdl.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/usr/lib/libdl.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/lib/libdl.tbd
I attempted to symlink the .tbd to the .so that my .net application expects, but .net complained that it was net a mach-o file.
I then attempted to symlink the tvos .dylib to the .so, and got a different error stating that it needed to be signed for macos.
How can I find/conjure libdl.dylib on macOS12, so that I may directly reference it in my application?
I suppose you cannot rebuild that application, cause currently libdl.so` would not be requested as it is not deployed anymore as standalone.
Try to make symlink of libdl.so to libc.so (or whichever version is installed with your .net platform package, libc.so.x)

Qt Project Dyld Error Setting rpath

I have a Qt project and I need to include some libraries
I have this in my .pro file:
QT += webengine
I can build and run it fine on my Mac but if I try to send the .app to someone else and they run it, there is this error:
Dyld Error Message:
Library not loaded: #rpath/QtWebEngine.framework/Versions/5/QtWebEngine
Referenced from: /path/myApp.app/Contents/MacOS/myApp
Reason: image not found
I have the QtWebEngine.framework and its corresponding QtWebEngine.framework.dSYM file in my directory:
Users/myUsername/Qt/5.11.0/clang_64/lib
I also have the .framework in my directory:
Library/Frameworks
In the editor, I looked at Projects > Desktop Qt 5.11.0 clang 64bit2 > Run > Run Environment, and I found that the DYLD_FRAMEWORK_PATH points to where the .framework file is located. Same for DYLD_LIBRARY_PATH.
This is confusing me because it works on my Mac but not on others. It also seems like the paths are all in order. I have tried using other suggestions on this website but they do not seem to work for me or maybe I just did them wrong. Maybe someone could help me?
Update:
If I need to add the .pak resource files to my deployment, how can I do this?

Compiling Qt using MinGW on Win64 - which MinGW?

Based on these instructions I'm trying to install/compile Qt 4.8.6 on Windows 7x64 using MinGW 4.8.2. Per those instructions I went to get MinGW from this site, which leads me to win-builds.org.
The result is that I have a directory filled with various mingw executables: x86_64-w64-mingw32-c++.exe, x86_64-w64-mingw32-g++-4.8.2.exe, x86_64-w64-mingw32-g++.exe, x86_64-w64-mingw32-gcc-4.8.2.exe, x86_64-w64-mingw32-gcc-ar-4.8.2.exe, x86_64-w64-mingw32-gcc-nm-4.8.2.exe, x86_64-w64-mingw32-gcc-ranlib-4.8.2.exe, x86_64-w64-mingw32-gcc.exe.
When I go to install Qt, it asks where MinGW is:
But when I supply the path to all those executables, it says that it cannot find g++:
Do I need to alias one of those executables to a different name for Qt to find it?
As I only noticed when posting the above screenshot, the Qt installer is adding an extra \bin to the path. Giving it the location of the parent folder of the executables worked, in my case just:
C:\Program Files\Utilities\winbuild

Lua for windows https error: "%1 is not a valid Win32 application"

I've got a question about Lua and https. I'm developing some software for a router which supports Lua. The bad thing is that this router doesn't support debugging. So I was looking for an IDE for Lua.
I'm using the Lua Development Tools and LuaForWindows on a Win 7 64-bit OS. Till now everything works like it should. But now I have to call some urls by https. The router itself has a package ssl.lua and you can user this package with the require ("ssl.https") statement. But I want to debug it with the Lua Development Tools. I was searching for Windows compatible packages and have found the "Luasec" project.
As mentioned in this thread "Lua with the Freebase API"; I have downloaded Luasec.
I have put the ssl.lua and the ssl folder within my lua installation the I have put the ssl.dll in the clibs folder within the lua installation.
For testing I only do a require ("ssl.https") in my Lua file but it crashes. It says:
C:\Program Files (x86)\Lua\5.1\lua.exe: error loading module 'ssl.core' from file 'C:\Program Files (x86)\Lua\5.1\clibs\ssl.dll':
%1 ist keine zulässige Win32-Anwendung. (%1 is no a valid Win32 application)
I've tested it on a Win 7 32 bit pc too and it crashes with this:
C:\Program Files\Lua\5.1\lua.exe: error loading module 'ssl.core' from file 'C:\Program Files\Lua\5.1\clibs\ssl.dll':
Das angegebene Modul wurde nicht gefunden. (The module cant be found)
Can anybody please help me getting this work?
I had this same problem on Windows 7 64 bit as well, using Alien to load a Windows DLL.
The library I was loading (i.e. the DLL) is a 64 bit DLL, but Lua for Windows is a 32 bit application.
I have a 32-bit version of the DLL that I loaded instead, and that works. See if you too can find a 32 bit version of your library.
As for your problem on 32 bit Windows, that could of course be due to other factors, though if you are using the same 64 bit DLL, I guess that won't work either.
I got this problem yesterday and solved it by downloading the source code of Luasec and built it with static library on a 32-bit windows 7 pc. You may try to build your own.
I changed some configurations in my C/C++ and Linker properties of project.
Below are what I changed:
C/C++ -> Code Generation -> Runtime Library: Multi-threaded (/MT)
Linker -> General -> Additional Library Directories: C:\OpenSSL-Win32\lib\VC\static
Linker -> Input -> Additional Dependencies: add libeay32MT.lib and ssleay32MT.lib
Or, you could download my version here if you need.

Compiling cvblob on OSX does not correctly locate OpenCV libs

I'm having issues with CVBlob locating the OpenCV installation on OSX 10.6. I have patch for the osx install as described in an earlier message on the cvblob wiki. When I run make, the build process immediately complains that it cannot find cv.h or highgui.h and then subsequently fails to locate additional symbols and vars declared in those headers.
The cmake command I am using is :
cmake -DOpenCV_DIR=/usr/local/Cellar/opencv/2.3.1a/ .
I can see that cv.h is contained in the includes directory in that location. I also tried the following cmake command where I specify the location of the OpenCV Cmake info:
cmake -DOpenCV_DIR=/usr/local/share/OpenCV/ .
Neither seems to correctly tell the cvblob installation where OpenCV is located.
Please help!
SR
In later versions of cvBlob, openCV is automatically located. But version 0.10.4 and before expects the openCV directory to be located next to the cvblob directory. Specifically, version 0.10.4 seems to expect the opencv-2.4.9 directory to be next to cvblob. In this version of cvBlob, the -DOpenCV_DIR parameter seems to have no effect on OS X, and this was the only way I could get it working.
Are you working with Xcode?
If so, just add the OpenCV-path to your header search path in your Xcode project.

Resources