Forum > General

Advice needed on creating a cross platform run time .lpk [SOLVED]

<< < (3/3)

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

Go to full version