now, my skeleton is working (thanks to ) i want to add Carbon function
into my c file.
i've only added :
#include "/Developer/Headers/FlatCarbon/CFURL.h"
and :
CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
(CFStringRef)_fullAliasPath, kCFURLPOSIXPathStyle, NO);
into my "RAliasFile.c"
and i get number of errors within "CFURL.h" and related, i suppose this
is a syntax prob then, i have to convert "CFURL.h" to be C-Ruby
compatible ???
···
--
une bévue
CF = CoreFoundation != Carbon.
You simply need #include <CFUrl.h> and then instruct gcc to look for it in
/System/Library/Frameworks/CoreFoundation.framework/Headers/
···
On 14 août 06, at 08:15, Une bévue wrote:
#include "/Developer/Headers/FlatCarbon/CFURL.h"
--
Luc Heinrich - luc@honk-honk.com - http://www.honk-honk.com
oK thanxs, i've done that :
$CFLAGS << " -I
/System/Library/Frameworks/CoreFoundation.framework/Headers "
in my "extconf.rb" where mkmf is included.
however i get (at run time) :
dyld: NSLinkModule() error
dyld: Symbol not found: _CFURLCreateWithFileSystemPath
Referenced from: ./osx/ralias/raliasfile.bundle
Expected in: flat namespace
does i need to change another flag, for example :
LDFLAGS ??
should have :
-read_only_relocs suppress
giving for the whole :
-flat_namespace -undefined suppress -read_only_relocs suppress ???
···
Luc Heinrich <luc@honk-honk.com> wrote:
CF = CoreFoundation != Carbon.
You simply need #include <CFUrl.h> and then instruct gcc to look for
it in
/System/Library/Frameworks/CoreFoundation.framework/Headers/
--
une bévue
i've allready try :
LDFLAGS="-Wl,-read_only_relocs,warning"
in my "extconf.b" raising the same prob.
···
Une bévue <pere.noel@laponie.com.invalid> wrote:
does i need to change another flag, for example :
LDFLAGS ??
--
une bévue
Try linking against the framework using the -framework flag.
$LDFLAGS << " -framework CoreFoundation".
-- Daniel
···
On Aug 14, 2006, at 5:15 AM, Une bévue wrote:
oK thanxs, i've done that :
$CFLAGS << " -I
/System/Library/Frameworks/CoreFoundation.framework/Headers "
in my "extconf.rb" where mkmf is included.
however i get (at run time) :
dyld: NSLinkModule() error
dyld: Symbol not found: _CFURLCreateWithFileSystemPath
Referenced from: ./osx/ralias/raliasfile.bundle
Expected in: flat namespace
does i need to change another flag, for example :
LDFLAGS ??
should have :
-read_only_relocs suppress
giving for the whole :
-flat_namespace -undefined suppress -read_only_relocs suppress ???
fine thanks, it's ok now for the links, however i get a bus error at
runtime :
/Users/yvon/work/Ruby/Native/C/raliasfile_test.rb:8: [BUG] Bus Error
ruby 1.8.4 (2005-12-24) [powerpc-darwin8.7.0]
From C => alias_path :
/Users/yvon/work/Ruby/Native/C/doc/Introduction_ANSI_C_html
the line 8 of raliasfile_test.rb being simply :
a=RAliasFile.new("/Users/yvon/work/Ruby/Native/C/doc/Introduction_ANSI_C
_html")
(just after "require 'osx/ralias/raliasfile'")
and on the C side :
VALUE m_raliasfile_init(VALUE self, VALUE alias_path)
{
printf("From C => alias_path : %s\n", StringValuePtr(alias_path));
rb_iv_set(self, "@alias_path", alias_path);
Boolean NO=(Boolean)Qfalse;
CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
(CFStringRef)alias_path, 0, NO);
if (url != NULL) {
printf("From C => url != NULL\n");
}
return self;
}
from the printf(...) i know the error is certaiinly due to this line :
CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
(CFStringRef)alias_path, 0, NO);
···
Daniel Harple <dharple@generalconsumption.org> wrote:
Try linking against the framework using the -framework flag.
$LDFLAGS << " -framework CoreFoundation".
--
une bévue
What is the output from the printf statement?
Try (CFStringRef)StringValuePtr(alias_path) or CFSTR(StringValuePtr(alias_path)).
-- Daniel
···
On Aug 14, 2006, at 10:20 AM, Une bévue wrote:
from the printf(...) i know the error is certaiinly due to this line :
CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
(CFStringRef)alias_path, 0, NO);
Oh wait, never-mind, it is there.
-- Daniel
···
On Aug 14, 2006, at 10:42 AM, Daniel Harple wrote:
What is the output from the printf statement?
What is the output from the printf statement?
From C => alias_path :
/Users/yvon/work/Ruby/Native/C/doc/Introduction_ANSI_C_html
Try (CFStringRef)StringValuePtr(alias_path)
still a seg fault :
"-L/opt/local/lib -framework CoreFoundation\ncreating Makefile\n"
"gcc -fno-common -O -pipe -I/opt/local/include -fno-common -pipe
-fno-common -I
/System/Library/Frameworks/CoreFoundation.framework/Headers -I.
-I/opt/local/lib/ruby/1.8/powerpc-darwin8.7.0
-I/opt/local/lib/ruby/1.8/powerpc-darwin8.7.0 -I. -O -pipe
-I/opt/local/include -c RAliasFile.c\ncc -dynamic -bundle -undefined
suppress -flat_namespace -L/opt/local/lib -framework CoreFoundation
-L\"/opt/local/lib\" -o raliasfile.bundle RAliasFile.o -lruby
-lpthread -ldl -lobjc \n"
/Users/yvon/work/Ruby/Native/C/osx/ralias/compil.rb:31: [BUG]
Segmentation fault
ruby 1.8.4 (2005-12-24) [powerpc-darwin8.7.0]
From C => alias_path :
/Users/yvon/work/Ruby/Native/C/doc/Introduction_ANSI_C_html
or CFSTR(StringValuePtr(alias_path)).
and here i get a parse error (???) :
RAliasFile.c:29: error: parse error before 'rb_string_value_ptr'
the line being :
CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
CFSTR(StringValuePtr(alias_path)), 0, NO);
···
Daniel Harple <dharple@generalconsumption.org> wrote:
--
une bévue