Thanks Laurent!
MYSDK is a c++ SDK... 4 c++ headers and a c++ binary archive (.a)
I will work out my Objective-C wrapper then!
2010/5/27 Laurent Sansonetti
> Hi Louis-Philippe,
>
> BridgeSupport doesn't support C++. It only exposes C and Objective-C
> symbols.
>
> In your C++ library, what is MY
Hi Louis-Philippe,
BridgeSupport doesn't support C++. It only exposes C and Objective-C symbols.
In your C++ library, what is MYSDK exactly? If it isn't an Objective-C class,
it won't be accessible from MacRuby.
In order to use your C++ code in MacRuby, the best way is to wrap the calls you
ne
I see on the BridgeSupport support to redirect all request to Laurent...
so here it is...
Laurent,
Is it desperate to keep trying every options of gen_bridge_metadata?
will it swallow my c++ framework at some point?
thanks
2010/5/27 Jordan Breeding
> Don't know, the only times I have used that
Don't know, the only times I have used that method the header file itself is
just straight C, the implementation hides all of the C++ in my case. Maybe
gen_bridge_metadata doesn't handle C++.
On May 27, 2010, at 11:49, Louis-Philippe wrote:
> any idea why gen_bridge_metadata does spit this:
>
any idea why gen_bridge_metadata does spit this:
gen_bridge_metadata --64-bit -f ./MYSDK.framework -o MYSDK.bridgesupport
./MYSDK.framework/Headers/MYSDK.h:21:18: error: string: No such file or
directory
/usr/bin/cpp-4.2 returned 1 exit status
line was: /usr/bin/cpp-4.2 -D__APPLE_CPP__ -include
/u
You might have to make a bridge support file and include it in your framework.
Something like this (although this is specific to running inside my Xcode
project build):
printf "Building BridgeSupport files...\n\n"
BRIDGE_SUPPORT_DIR="Resources/BridgeSupport"
BRIDGE_SUPPORT_FILE="${BRIDGE_SUPPOR
Thanks!
ok... I sorted some of the issues out... I was able to make a x86_64
framework out of the SDK by including the proper exports symbols (using nm
with the -arch flag).
so now it loads fine with the framework method...
but I cant access the c++ namespace:
"NameError: uninitialized constant MY
Then you could force macruby/macirb to run as i386:
`arch -arch i386 macirb`
On May 27, 2010, at 10:13, Louis-Philippe wrote:
> it only builds for i386...
> getting errors when trying to build for x86_64...
> thats why I tried as I tested to build only for i386...
>
> 2010/5/27 Jordan Breeding
it only builds for i386...
getting errors when trying to build for x86_64...
thats why I tried as I tested to build only for i386...
2010/5/27 Jordan Breeding
> Try building your framework as both i386 and x86_64.
>
> On May 27, 2010, at 10:00, Louis-Philippe wrote:
>
> file PATH/MYSDK.framework
Try building your framework as both i386 and x86_64.
On May 27, 2010, at 10:00, Louis-Philippe wrote:
> file PATH/MYSDK.framework/MYSDK
> ./MYSDK: Mach-O dynamically linked shared library i386
>
> file `which macruby`:
> /usr/local/bin/macruby: Mach-O universal binary with 2 architectures
> /usr
file PATH/MYSDK.framework/MYSDK
./MYSDK: Mach-O dynamically linked shared library i386
file `which macruby`:
/usr/local/bin/macruby: Mach-O universal binary with 2 architectures
/usr/local/bin/macruby (for architecture i386): Mach-O executable i386
/usr/local/bin/macruby (for architecture x86_64):
sorry, the second one really is:
./MYSDK (from the MYSDK.framework)
-bash: ./MYSDK: cannot execute binary file
2010/5/27 Louis-Philippe
> uname -a:
> Darwin modullpmacbook.local 10.3.0 Darwin Kernel Version 10.3.0: Fri Feb 26
> 11:58:09 PST 2010; root:xnu-1504.3.12~1/RELEASE_I386 i386
>
> ./MYS
On May 27, 2010, at 3:48 PM, Louis-Philippe wrote:
> ./MYSDK (from the MYSDK.framework)
> -bash: ./R3DSDK: No such file or directory
file PATH/MYSDK.framework/MYSDK
Run the file command on MYSDK
> which macruby:
> /usr/local/bin/macruby
Not `which macruby` but run the file command on macruby
uname -a:
Darwin modullpmacbook.local 10.3.0 Darwin Kernel Version 10.3.0: Fri Feb 26
11:58:09 PST 2010; root:xnu-1504.3.12~1/RELEASE_I386 i386
./MYSDK (from the MYSDK.framework)
-bash: ./R3DSDK: No such file or directory
which macruby:
/usr/local/bin/macruby
by the way, I tried it in a MacRuby
Louis-Philippe,
On May 27, 2010, at 3:25 PM, Louis-Philippe wrote:
> Did find:
> /PATH/MYSDK.framework/MYSDK: mach-o, but wrong architecture)
> from /PATH/(irb):2:in `'
Can you paste the output from the following?
uname -a
file ATH/MYSDK.framework/MYSDK
file `which macruby`
So far, I got my c++ sdk in a framework (without objc wrapper) I can call it
from objective-c...
but macruby is not happy with it, importing it with 'framework
"./MYSDK.framework"', I get:
RuntimeError: framework at path `./MYSDK.framework' cannot be loaded: Error
Domain=NSCocoaErrorDomain Code=35
Hi!
That's exactly what I was going to recommend.
MacRuby is able to interact with Obj-C, so you can write an Obj-C++ wrapper
(.mm files) around your SDK, and then use it with MacRuby :-)
Any of you two, if you manage / managed to do it, please do not hesitate
sharing the recipe to the world :-
I do it with a C lib (but it must be the same with C++). First I
create a ObjC class over my C lib. Then i can use my ObjC class within
MacRuby.
Greg
2010/5/26 Louis-Philippe :
> Hi folks,
> I need to work with a c++ sdk in my code.
> Is this possible within macruby?
> I tried loading the files a
18 matches
Mail list logo