Forum > General
Advice needed on creating a cross platform run time .lpk [SOLVED]
bobby100:
--- Quote from: carl_caulkett on October 06, 2024, 11:48:06 pm ---I have to thank Bobby100 who answered me in the other thread on this subject. He mentioned the 'PSS-Revive" project which I git cloned. I didn't get a chance to run the project because there were too many 3rd party components that I couldn't find, and the projecy seemed to be for 32 bit systems? The important thing I did notice was the use of the units in the "../units" folder ;)
--- End quote ---
Glad you solved your problem. About PSS-Revive and 32-bit - you need to select the target build (Gear with key icon left to Play/Run icon) first. The last one that I've built was for 32-bit Windows, and that's what is left selected there.
carl_caulkett:
I've used exactly the same technique for my main app, "OsmosePresets" as in the test app, previously discussed in this thread. As soon as I try to build the app, after adding the "camidi.pas", "camidiintf.pas" and "camiditypes.pas", I'm getting the following build errors...
--- Code: Text [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---Debug: "_MIDIObjectGetStringProperty", referenced from:Debug: _CAMIDIMAC$_$TCAMIDIMAC_$__$$_GETDEVICES$TCAMIDIINOUT$TSTRINGS in camidimac.oDebug: "_MIDIOutputPortCreate", referenced from:Debug: _CAMIDIMAC$_$TCAMIDIMAC_$__$$_GETOUTPUTPORT$TSTRINGS$$LONGWORD in camidimac.oDebug: "_MIDISend", referenced from:Debug: _CAMIDIMAC$_$TCAMIDIMAC_$__$$_SENDMIDIPACKET$LONGWORD$LONGWORD$MIDIPACKET$TSTRINGS in camidimac.oDebug: "_kMIDIPropertyName", referenced from:Debug: _CAMIDIMAC$_$TCAMIDIMAC_$__$$_GETDEVICES$TCAMIDIINOUT$TSTRINGS in camidimac.oError: ld: symbol(s) not found for architecture x86_64Error: Error while linking
As far as I can tell, I'm doing exactly the same as in the previous test project...
carl_caulkett:
In fact, I don't even have to touch the project structure to get these errors. Just adding "caMidi, caMidiIntf, caMidiTypes;" to the uses clause of my main form in "OsmosePresets" is enough to generate these errors!
carl_caulkett:
Can I add to the search path on a file by file basis, by putting in a compiler directive, or something similar?
carl_caulkett:
I sorted it by changing the uses clause of my macOS specific code to...
--- Code: Pascal [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---uses Classes, SysUtils, caMidiIntf, caMidiTypes, {$IFDEF DARWIN} {$LINKFRAMEWORK CoreMIDI} MacOsAll, CocoaAll, {$ENDIF} {$IFDEF LINUX} {$ENDIF} {$IFDEF WINDOWS} {$ENDIF} caHelper;
The {$LINKFRAMEWORK CoreMIDI} directive seems to have been the key to the solution!
And, happily, both test app, and actual app now build and run :)
Navigation
[0] Message Index
[*] Previous page