[MacRuby-devel] c++ lib
Jordan Breeding
jordan.breeding at me.com
Thu May 27 12:31:20 PDT 2010
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.breeding at 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.breeding at 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.breeding at 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 <default at spiralix.org>
>>>> sorry, the second one really is:
>>>>
>>>> ./MYSDK (from the MYSDK.framework)
>>>> -bash: ./MYSDK: cannot execute binary file
>>>>
>>>> 2010/5/27 Louis-Philippe <default at 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 <joelr1 at 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 at lists.macosforge.org
>>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> MacRuby-devel mailing list
>>>> MacRuby-devel at lists.macosforge.org
>>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>>
>>>
>>> _______________________________________________
>>> MacRuby-devel mailing list
>>> MacRuby-devel at lists.macosforge.org
>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>>
>>>
>>> _______________________________________________
>>> MacRuby-devel mailing list
>>> MacRuby-devel at lists.macosforge.org
>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>
>>
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>
>>
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
>
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
>
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20100527/e6b32cee/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3842 bytes
Desc: not available
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20100527/e6b32cee/attachment-0001.bin>
More information about the MacRuby-devel
mailing list