I develop a C++ software but it seems that on "some" (not all) machines it cannot run (also under Windows 8).
One of my customer says that he has open it with the dependency walker and that some DLLs are missing... all with the name : API-MS-WIN-CORE ???.DLL
But it seems to me that is a system DLL...
My software is a 64 bits software and use QT (I have built it myself), but I can't reproduce the problem on my machine.
Does someone has an idea to help me ?
For information, you can download it at : www.spectralpixel.com
Thanks for your help
Following my comment (sorry for answer, I need to post an image) - after a short delay, I see access violations in the event log. Screenshot attached below - maybe helpful? I have Windows 8 64-bit with VS2012 installed and have also installed VS2010 redist x86/x64.
I agree with Hans Passant that the dependency walker is probably a red herring - I can't see evidence of missing dependencies on my system.
Related
I am packaging my app into exe with javafx-maven-plugin. x64 version works well. But then I package x86 version on 32-bit Windows 7 (running in VirtualBox if that's important) with 32-bit JDK 1.8.0_161 and 32-bit Maven. The resulting application installs, but fails to run, claiming that MSVCR100.dll is missing even though it is in the runtime\bin folder. I googled around and found out that this is a JDK bug that was supposedly fixed way back in u40. So why does this still happen?
If I copy that dll manually next to the .exe it starts on one machine (again, in VirtualBox), but for some reason silently crashed on another (real one this time, fresh installation). Found an identical problem in javafx-gradle-plugin issues, though it got resolved when building on newest Win10 version, whereas I'm building on newest Win7.
If I just install Microsoft Visual C++ 2010 Redistributable Package then everything works, obviously, but I don't want user having to do that. So how do I copy .dll with Inno Setup script and how do I figure out the reason behind silent crashing?
I don't think this is related to Windows being 32 bit and it just happens to coincide with your two testing computers. I posted a question that is related here: Failed to find library: jvm.dll. What's going on here?
What you are experiencing is likely a bug on java(fx)packager as described here: https://bugs.openjdk.java.net/browse/JDK-8191176. That bug report claims the bug started on 8u155 and was solved by 8u171 but I am experiencing the bug all the way to the latest 8u172 b03 as I describe here: https://github.com/javafxports/openjdk-jfx/issues/59
I also tried going to 8u144 before the bug existed and I found that building the installer fails because of a missing MSVC dll (surprise! surprise!). I described the problem here: Where/how to get the MSVC dlls Java 1.8.0_144 wants?
There may be another .dll on which MSVCR100.dll depends and which is not present on specific machine.
That is a reason why the Redistributable Package installs everything together.
Try to find another dependencies using http://dependencywalker.com/, it looks like you need more dlls than MSVCR100.dll.
Or simply install Redistributable Package on each machine. Installing it multiple times does not harm any application or system.
I have tried all the solutions which found on stack overflow, but still not able to resolve it. Somehow its not open the simulator and gives me error "unable to boot simulator".
I have reinstall 2 times xcode and also remove all simulator and add again. also change "DYLD_INSERT_LIBRARIES" to ZZ but no solution.
Please help me, Thanks in Advance!
Try to turn off System Integrity Protection http://www.imore.com/el-capitan-system-integrity-protection-helps-keep-malware-away - it helped me.
Problems:
As I also faced the same problem as below..
--"Unable to boot simulator"
--Storyboard designs/views completely invisible and showing only blue lines.
--CoreTelephony Trace File Error ... failed to create \tmp
Solutions
Don't do any SIP (Disable/Enable)settings its just temp solutions & it may harms to other applications in the mac as well as may affecting on secure data in the mac.
Best way to do upgrade your iMac to macOS "Sierra". It will solve all your problems.
Finally I am able to work on my project by solving above strange problems.
Happy coding.. happy Development...!!!
Assuming the error message was actually "Unable to boot the Simulator.", this error indicates an error starting up launchd_sim when booting the simulated device. In and of itself, it does not indicate the actual cause. You can look in ~/Library/Logs/CoreSimulator/CoreSimulator.log for more information about the error (including the error reason).
Possible causes:
On OSX 10.9 and earlier, DYLD_INSERT_LIBRARIES could be set by 3rd party applications. On later versions, invalid DYLD_INSERT_LIBRARIES are ignored instead of resulting in an error.
Usage of older simulator runtime DLC with Xcode 7 betas. Newer versions of Xcode ignore these older DLC.
If you need additional help, please provide that additional datum.
Also see my answer in the related question: Please see my answer on launchd_sim crashing: could not create temporary state directory regarding data you can collect to help further triage the problem.
In a nutshell, the question is: I just finished my first application using Qt Creator on a computer running under Linux Ubuntu, now how do I make this available for everyone. Now follows the more detailed version ;)
I must apologize for asking this, I am aware that this question has probably been asked many times and that there is official documentation that I can read. I am just completely new to programming and I am very confused by everything I've read so far. If you are kind enough to help, please assume I know absolutely nothing :)
Here we go: I've just finished designing my first application (a scientific program) with Qt creator on my laptop which runs under Linux Ubuntu. It works fine and I'm very proud of it ;)
Here's what my project consists of: 40 header files, 42 source files, 1 pro file, 1 qrc file, 1 html file and 7 png files. In the code, I use #include for a bunch of fairly standard Qt classes (QWidget, QTextBrowser and so forth, maybe like 40 of those).
Now I'd like to make it available to other people. For Linux and Mac users, I've figured a way to do that: I can compress the folder containing my project, tell them to install Qt on their computer, then download and extract the files on their hard disk, open a terminal in the folder and run
qmake myProject.pro
qmake
make
That seems to work fine (by the way, does it matter that this is not precisely what Qt creator does? The qmake step there is qmake-qt4 myProject.pro -r -spec linux-g++ and the make step is make -w). Now, I assume there is a solution where I don't ask them to download and install something like 200Mo of Qt material. As for Microsoft Windows users, I don't have a clue.
I would be very grateful if you could explain to me in a very concrete way what I need to do. Needless to say, I'll go for the best and easiest solution, I don't need to understand everything about deployment. Many thanks in advance!
Edit: In case that's useful : I've been using Qt Creator 2.5.0 based on Qt 4.8.1 (64 bit), I'm working on a laptop with Ubuntu 12.04 64bits
For Linux and Mac users, I would compile the software for them in 32 and 64bit formats - no-one likes compiling unknown software from source. Obviously keep the source code option for those on more unusual architectures/OSs (and provide a shell script for them that mimics the commands Qt Creator calls!). As Qt runtimes are available from package managers on just about every distro (and come pre-installed on most anyway, KDE requires them for example), by not asking them to compile from source your users will have a much smaller download (if any) and won't require them to download software from a website potentially unknown to them. Of course the best way would be to try to get your software added as a package into the major distros' repositories, but that may take some time to organise.
Compile your software for Windows users for both 32 and 64bit formats. It's generally frowned upon to ask users to download runtime libraries they potentially don't know, and put them into their system32 folder... So most applications bundle all the libraries they need with their application. Qt-based applications are no different, and so put the runtimes into the folder where the executable is. Also it is much more professional to create a proper installer, there are a few free installer applications for Windows, a web search will give you the most popular (I think I saw a thread on SO about it as well).
As you can see the platforms aren't too dissimilar, the main point I would make is: Do not force people to compile from source! The vast majority of people on Earth do not even know what compiling is, so provide for the major arrchitectures/OSs yourself.
Ok, this is indeed a newbish question but I have to take a first step somewhere.
I've just had experience with DevC++ console applications, which means a simple .exe would be produced from the compiling, running from cmd. That was all, you could send the .exe to a gentleman running the same OS and he could run your little program.
What happens with Qt Creator projects, though? I've finally finished my dekstop application, wrote and debugged everything that needed to be done, I sort of have some nice GUI going, everything's working nice but... How do I acually give it to other people that don't have QtC to run it through?
Any guide that covers this?
Deployment
Here are some guides helping you to deploy your application on different platforms:
X11
Windows
Mac OS X
Embedded Linux
Symbian
Installation
I can highly recommend
NSIS
Inno Setup
Distribution
Have a look at this site. Here you can present your application to others and let them download it.
The subject of your question is simple, but I'm sure it will help many people! Your question is a good contribution.
Well, last thing you do is find out dependencies - shared libraries, and squeeze that all into installer. :)
Resources:
Qt has a nice page called Deploying an Application on Windows, as a part of their documentation. So all the dependencies related stuff is covered there.
List of best free installers is available here.
My suggestion is to invest some time in writing a CMake script and then using CPack for the distribution.
Here is a very simple example
http://www.cmake.org/Wiki/BundleUtilitiesExample
with this you are able to deploy a mac application. Then you can also extend it to create Debian or RPM packages!
The CMake mailing list is always a source of useful suggestion.
In windows you probably have to redistribute the Qt DLL with your program, as well as for Mac you have to include Qt libraries in your bundle.
I'm trying to get XCode 4 to symbolicate a crash report. I've googled and followed this link (https://github.com/chrispix/symbolicatecrash-fix) but get stopped. The instructions say "To fix your iOS crash report symbolication, move /usr/local/bin/symbolicatecrash aside and copy in the version in this repo." Well, I cannot find "/usr/local/bin/" on my Mac. I'm new to the Mac world, so I'm sure there's something I'm not understanding. If "/usr/local/bin/" doesn't exist, then where is XCode 4 finding symbolicatecrash? Please point a newbie in the right direction as I have a lot of bugs to be fixing.
Thanks
Tom
that tool has been relocated to /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash in newer version of the SDK
you would run it as:
./symbolicatecrash -A -v [crashlog-filename] MyApp.dSYM
keep in mind this is for iOS only, for OSX see http://developer.apple.com/tools/xcode/symbolizingcrashdumps.html (for the app to contain the symbols "DWARF with dSYM" must be enabled in it's build settings)
you would run it as:
./symbolizecrashlog [application-name] [crashlog-filename] > symbolized.crash
I would like to add that all this usually is done automatically, these manual approaches are for cases when there are issues with the system symbols database as discussed in Xcode 4 failure to symbolicate Crash Log