On Sat, 30 Apr 2005, John Morrison wrote:
> Looking for a sanity-check. It looks like I get
> undefined-alien-function-errors when trying to call defined "weak"
> alien functions (which include useful things like C++ constructors!).
> Is this expected? I seem to have no such trouble calling "strong"
I'm aftraid that I don't follow. What do you mean by "weak" and "strong"
alien functions / symbols? Presumably some C++ magic?
Do do you have a test case runnable on a plain vanilla SBCL?
> Unfortunately, in the extremely large C++ code base I'd like to call
> into, there are lots of weak symbols, and this seems to be correlated
> with use of "inline" directives.
Using my ESP powers I predict that your C++ compiler doesn't produce
linkable symbols / object code for inline functions whose address is never
taken (or something to that effect anyways).
> If so, my next quest will be to see if I can work some hackery to
> turn these into strong symbols. I would like to avoid recompiling
> (this is one option) and defining "inline" to be "". Suggestions
Possibly a compiler option for C++, or failing that try linking into the
build something that takes the address of every inline function.
-- Nikodemus Schemer: "Buddha is small, clean, and serious."
Lispnik: "Buddha is big, has hairy armpits, and laughs."