Can't find right Qt5Core.dll file. Each one I find gives a different error - c++

I'm trying to deploy my Qt application, and every I tried loading Qt5core.dll, and it gave me an error, saying something like "procedure entry point.... could not be found".
So I tried loading a different version that was on my machine, and all of them gave me a slightly different but similar error.
Any ideas anyone?

By the look of your question, I suspect you want to deploy your project on Windows as you have struggle to find the correct .dll files.
I usually use the Windows deployement tool from Qt (more info on their website here: windeployqt, it is located within the QTDIR/bin/ folder.
But it is very straightforward to use, I use it as follow:
windeployqt --release "C:\path\to\binary.exe"
You should then be able to deploy your app by copying the resulting output files from the previous command.

Got it! I was including Qt5Network.dll when I was trying something out, but forgot I no longer needed it. It was calling a procedure in Qt5Core.dll that wasn't in the version I was using.

Related

Having challenges installing pandoc-crossref in windows

I have recently started using r markdown and I am having issues with installing pandoc-crossref in window.
I have tried approaching friends on getting the set-up but to no avail. I have tried searching on the web but couldn't find anything useful. I tried following the directions here text to no avail. I will be grateful if anyone knows where i can get the set up and how to go about installing it.
You don't give any information about what errors you receive, so it is hard to provide useful help. This being said...
Trying to guess what your problem is. It is likely that you are getting the error could not find executable pandoc-crossref when trying to compile. Assuming that that is the case, your problem might be the following. Notice that pandoc-crossref.exe is not an installer, but an executable, so double clicking on it in an attempt to install it will do nothing except bring up a terminal for an instant. Is that what you have done? Where did you place it?
Leaving pandoc-crossref.exe e.g. in your downloads folder or on your Desktop would give the could not find executable pandoc-crossref error when trying to compile, because the executable needs to be in your $PATH, or pandoc will not be able to find it and run it.
A possible solution. If my guesses above are correct, you might be able to solve your problem by placing pandoc-crossref.exe inside your pandoc program folder, where your pandoc.exe file is, which is by default in:
C:\Program Files\Pandoc\
So try to place pandoc-crossref.exe in that folder and see if it works.
If this does not help. Say exactly what it is that you tried to do, what errors you encountered, and maybe include a screenshot.

Run time error on executing the exe manually

I have a Qt application, which runs fine when I execute it from Qt Creator. However, on running it by manually clicking the generated exe, I get the following error :
I would understand if it would ask for missing DDLs (which I could then place in the same folder). But how should I proceed to handle this (in general) ?
P.S. It is not giving any line number in my source code which I could try testing this assert for. I tried using the release mode as well, but the same error.
We don't know what the problem with your code is; you'll need to use a debugger to find that out. I think that the pre-built Qt libraries that you download come with debug symbols, but if they don't, you can always build Qt yourself to get them using the -force-debug-info configure option.
You can also use DebugView to see debug output of deployed applications.
However, in general, you should use the windeployqt tool that is included with Qt.
The Qt for Windows - Deployment page has more information about deploying Qt applications to Windows machines, but windeployqt should do everything you need.
My qml files were not getting deployed properly and thus this error (this assert is probably on the variable storing the main qml file name, i.e. it should not be an empty string, which in case of missing main.qml, it was). Placing the qml files at correct paths solved the issue.
Also, as #mitch has pointed out in his answer, use windeployqt to find out the dependencies. Although, I have also realized that it doesn't cover all the dependencies (MSVC runtimes for example and other compiler related files sometimes). In that case run the dependency walker and place the missing files manually along with the exe.

The program can't start because libgcc_s_dw2-1.dll is missing from your computer. Simple console

Please help. I am using Code Blocks, and I have just built a project and now when I try to run the ".exe" it says this message "The program can't start because libgcc_s_dw2-1.dll is missing from your computer...this problem." I have tried to download those .dlls and extract them into the location where the ".exe" is stored and then tried running the program again but it crashes. I have no idea what to do anymore.
Can anyone give me steps to solving this using Code Blocks(IDE. that I use)? Please.
Another note that I'd like to add is that I am learning C++ and I do not understand complicated lingo like "linker", "links", and etcetera. I want this application to be stand-alone if possible but I have searched around about this issue and people are saying to place the related .dlls from the bin of minGW where your executable is but then they say that there is licensing issues. I am getting confused about this and I just want a simple fix, I don't want any licensing issues.
Can you explain it from Code Blocks point of view? Because that's the program that I am using, and some steps to fix it would be really nice.
Note 3: People are also saying to use something like "-static-libgcc" but I have no idea what to do with that.
The libgcc_s_dw2-1.dll should be in the compiler's bin directory.
You can add this directory to your PATH environment variable for runtime linking, or you can avoid the problem by adding -static-libgcc -static-libstdc++ to your compiler flags.

App looking for an invalid dynamic library

alt text http://img63.imageshack.us/img63/5726/screenshot20100125at124.png
I keep getting multiple error windows for an app i'm developing asking for ._libpal_bullet.dll when it should really be just libpal_bullet.dll. The weird thing is after I get all the error messages, the app runs anyway using the correct dlls that exist in the same directory.
How can i get rid of these errors?
You can use Dependencies Walker to step through the code to see who is invoking the call to the DLL. Maybe you have the ._libpal_bullet.dll included in your release configuration.
Thanks Extrakun, you indirectly helped me figure this one out.
I guess this happens when you copy code between OSes.
The problem was that there were duplicate files of these library names in the build folder. They were metadata files from OS X, which must have come over to the Windows side when I copied the folder to Windows. It's strange that they would be attempted to be executed even though they have different names to the proper DLLs.
Anyway deleting the files (they were hidden!) solved the issue.

vmware-cmd causes "perl.exe - Ordinal Not Found" error

My automated script for starting and stopping VMWare Server virtual machines has stopped working. vmware-cmd has started raising the error:
The ordinal 3288 could not be located in the dynamic link library LIBEAY32.dll.
I am not aware of any specific change or update when this started happening.
I have found a bunch of other people reporting this problem (or very similar) but no solution.
Do you know what caused this error, and/or how to fix this?
I would have said that something must have updated either the LIBEAY32.dll or another dll that depends on it. You may find some helpful information using the depends tool. If you use this to open up the perl.exe then it should highlight the dependency path that produces the problem. You can compare this with other machines on which perl runs.
The ordinal is effectively a function that is expected by perl or a dll, but is not present in the verision of LIBEAY32.dll that you have. The depends tool makes this quite clear.
Have discovered that this only occurs when the script is run on a different drive to the one where the EXE is located. As a work around for this I have simply moved the scripts execution.
Apparently the DLL relates to SSL, which isn't relevant to what I'm doing, so this is a suitable workaround. I'm guessing that the problem is caused by changes in the EXE for how it determines relative paths (unlikley as nothing (AFAICT) has changed). Or the %PATH% environmental variable has changed (more likely).
Hope this helps someone in the future.
Please check your path settings and see if you have included "C:\Program Files\VMware\VMware Workstation" for VMWare management purpose. Once you delete it, you won't see the error no more.