realbasic-plugins
[Top] [All Lists]

Re: Frameworks = MachO

To: REALbasic Plugins <realbasic-plugins at lists dot realsoftware dot com>
Subject: Re: Frameworks = MachO
From: Charles Yeomans <yeomans at desuetude dot com>
Date: Thu, 16 Mar 2006 16:19:34 -0500
Delivered-to: realbasic-plugins at lists dot realsoftware dot com
References: <4 dot 3 dot 2 dot 7 dot 2 dot 20060316095349 dot 054c7eb8 at mail dot chickensys dot com> <4 dot 3 dot 2 dot 7 dot 2 dot 20060313140350 dot 0386dc20 at mail dot chickensys dot com> <4 dot 3 dot 2 dot 7 dot 2 dot 20060313132649 dot 036a1a98 at mail dot chickensys dot com> <4 dot 3 dot 2 dot 7 dot 2 dot 20060313125457 dot 03b29678 at mail dot chickensys dot com> <4 dot 3 dot 2 dot 7 dot 2 dot 20060313125457 dot 03b29678 at mail dot chickensys dot com> <4 dot 3 dot 2 dot 7 dot 2 dot 20060313132649 dot 036a1a98 at mail dot chickensys dot com> <4 dot 3 dot 2 dot 7 dot 2 dot 20060313140350 dot 0386dc20 at mail dot chickensys dot com> <4 dot 3 dot 2 dot 7 dot 2 dot 20060316095349 dot 054c7eb8 at mail dot chickensys dot com> <4 dot 3 dot 2 dot 7 dot 2 dot 20060316105715 dot 0570b780 at mail dot chickensys dot com>

On Mar 16, 2006, at 12:00 PM, Garth Hjelte wrote:

At 11:34 AM 3/16/2006 -0500, you wrote:

> I've made a .dylib for my app to call. My app is now Mach-O, so it's a > bundle by definition. I want the .dylib inside the bundle, and to call
> it from there so I don't have to distribute it seperately. How do I
> write the Declare? All the examples talk about calling a system thing,
> not a custom-made thing.

I explain how to do this in my book on declares at
<http://www.declareSub.com/>.  See the section on soft declares in
chapter 2.  Basically, you declare a function as follows.

Soft Declare Sub Foo Lib "@executable_path/../Frameworks/Foo.bundle" ()

Thanks - related question. What about Debug mode? Is this always necessary then?

#if DebugBuild
        Soft Declare Sub Foo Lib "FooLib.dylib" ()
#else
Soft Declare Sub Foo Lib "@executable_path/../Frameworks/FooLib.dylib" ()
#endif

With soft declares, perhaps not. You might try the following. Put FooLib in the same folder as the project. Then in the App.Open event handler, copy FooLib into the debug app bundle. And let me know if it works.

--------------
Charles Yeomans

_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>


<Prev in Thread] Current Thread [Next in Thread>