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 <lsansone...@apple.com> > 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 > >
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel