Details
Description
I have successfully been able to build an Installer using QtIFW-4.8.0 on Windows and Mac (ARM64). The samples are a big help!
It is great that there is all sorts of customizing I can do using the scripting with attaching to a package or the overall config.
I am able to run an EXE (that is in the "data" folder) directly from the package by the following script code:
Component.prototype.createOperations = function() { try { // call the base create operations function component.createOperations(); } catch (e) { console.log(e); } console.log("createOps start"); // this is only set to work on Windows component.addOperation("Execute", "@TargetDir@/myProgram1.exe", "--root", "@TargetDir@/someSubFolder", "arg3", "arg4"); console.log("createOps end"); }
Is it also possible to similarly call a C++ function that is within a DLL directly from this QTscript (??) code?
And if so how?
I am only looking for this to work on Windows. (Not on Mac or Linux.)
I am able to make a console EXE app that calls the C++ code in the DLL,
and include that console app in the "data" folder. (But that requires an extra step on my part of wrapping. I am curious if the DLL calling can be done directly.)
I already am adding some key words to the front of the C++ functions I want to call from my EXE console app. Are there other key words that I'd have to add to the C++ routines to make them call able?
#include "stdafx.h" // ( many includes removed ) extern "C" { __declspec(dllexport) void HelloWorld() { MessageBox(0, L"Hello World from DLL!\n", L"Hi", MB_ICONINFORMATION); } }