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 need in Objective-C APIs. You can then access them from MacRuby at no cost. And a bridgesupport file won't be needed. Laurent On May 27, 2010, at 12:48 PM, Louis-Philippe wrote: > 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 <jordan.breed...@me.com> > 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: >> >> 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 >> /usr/include/AvailabilityMacros.h -F"." >> "./MYSDK.framework/Headers/MYSDK.h" 2>/tmp/.cpp.err >> Usage: gen_bridge_metadata [options] <headers...> >> Use the `-h' flag or consult gen_bridge_metadata(1) for help. >> >> it's referring to this line in the SDK header: >> #include <string> >> >> and the SDK uses std::string all over the place... >> why is it complaining like this? >> >> >> 2010/5/27 Jordan Breeding <jordan.breed...@me.com> >> 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_SUPPORT_DIR}/${TARGET_NAME}.bridgesupport" >> >> if [[ "${TARGET_BUILD_DIR}/${WRAPPER_NAME}/${TARGET_NAME}" -nt >> "${TARGET_BUILD_DIR}/${WRAPPER_NAME}/${BRIDGE_SUPPORT_FILE}" ]]; then >> if [[ ! -d "${TARGET_BUILD_DIR}/${WRAPPER_NAME}/${BRIDGE_SUPPORT_DIR}" ]]; >> then >> mkdir -p "${TARGET_BUILD_DIR}/${WRAPPER_NAME}/${BRIDGE_SUPPORT_DIR}" >> fi >> gen_bridge_metadata --64-bit --framework >> "${TARGET_BUILD_DIR}/${WRAPPER_NAME}" -o >> "${TARGET_BUILD_DIR}/${WRAPPER_NAME}/${BRIDGE_SUPPORT_FILE}" >> fi >> >> On May 27, 2010, at 10:31, Louis-Philippe wrote: >> >>> 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 MYSDK" >>> >>> 2010/5/27 Jordan Breeding <jordan.breed...@me.com> >>> 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 <jordan.breed...@me.com> >>>> 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/local/bin/macruby (for architecture i386): Mach-O executable i386 >>>>> /usr/local/bin/macruby (for architecture x86_64): Mach-O 64-bit >>>>> executable x86_64 >>>>> >>>>> >>>>> 2010/5/27 Louis-Philippe <defa...@spiralix.org> >>>>> sorry, the second one really is: >>>>> >>>>> ./MYSDK (from the MYSDK.framework) >>>>> -bash: ./MYSDK: cannot execute binary file >>>>> >>>>> 2010/5/27 Louis-Philippe <defa...@spiralix.org> >>>>> >>>>> 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 cocoa app inside of xcode, but the >>>>> error sample I pasted above is from a macirb execution >>>>> >>>>> >>>>> 2010/5/27 Joel Reymont <joe...@gmail.com> >>>>> >>>>> 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 `<main>' >>>>> >>>>> Can you paste the output from the following? >>>>> >>>>> uname -a >>>>> >>>>> file ATH/MYSDK.framework/MYSDK >>>>> >>>>> file `which macruby` >>>>> >>>>> Thanks, Joel >>>>> >>>>> --- >>>>> http://twitter.com/wagerlabs >>>>> >>>>> _______________________________________________ >>>>> MacRuby-devel mailing list >>>>> MacRuby-devel@lists.macosforge.org >>>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> MacRuby-devel mailing list >>>>> MacRuby-devel@lists.macosforge.org >>>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >>>> >>>> >>>> _______________________________________________ >>>> MacRuby-devel mailing list >>>> MacRuby-devel@lists.macosforge.org >>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >>>> >>>> >>>> _______________________________________________ >>>> MacRuby-devel mailing list >>>> MacRuby-devel@lists.macosforge.org >>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >>> >>> >>> _______________________________________________ >>> MacRuby-devel mailing list >>> MacRuby-devel@lists.macosforge.org >>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >>> >>> >>> _______________________________________________ >>> MacRuby-devel mailing list >>> MacRuby-devel@lists.macosforge.org >>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >> >> >> _______________________________________________ >> MacRuby-devel mailing list >> MacRuby-devel@lists.macosforge.org >> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >> >> >> _______________________________________________ >> MacRuby-devel mailing list >> MacRuby-devel@lists.macosforge.org >> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel > > > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel > > > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel