Re: 2.1->2.2 created link error: std::__ioinit
Re: 2.1->2.2 created link error: std::__ioinit
- Subject: Re: 2.1->2.2 created link error: std::__ioinit
- From: Scott Tooker <email@hidden>
- Date: Mon, 14 Nov 2005 16:24:59 -0800
On Nov 14, 2005, at 1:54 PM, Sean McBride wrote:
On 2005-11-14 12:55, Chris Espinosa said:
Also, the release notes mention this:
"Xcode now shows file info for undefined symbol messages from the
linker. This is controlled through the "Verbose Undefined Symbols
info" (LINKER_DISPLAYS_FILES_FOR_UNDEFINED_SYMBOLS) build setting"
Which maybe does the same thing as the cryptic "-Wl,-Y,1000".
It probably does. Neat. :) I've wanted that for a long time....
Actually, I just tried it, and it doesn't seem to work at all.
Darn.
If it doesn't seem to work at all, please file a bug with the linker
invocation line and its output. It should work.
Well, it was me that filed the original bug that came back as 'fixed'.
I have of course updated the bug, asking for and giving new info. See
<rdar://4221710> if you'd like. I can even repro the problem with a
brand new project. Create a cocoa application add this prototype
to main.m:
int linkerror (int i);
then define main:
int main(int argc, char *argv[])
{
return linkerror (5);
}
Remember to turn off the cursed ZeroLink and build. You get:
/usr/bin/ld: Undefined symbols:
_linkerror
collect2: ld returned 1 exit status
Do the same in CodeWarrior and you get:
Link Error : undefined: 'linkerror' (code)
Referenced from 'main' in main.m
Project: LinkErrorsCW, Target: Cocoa Debug
Notice CW tells me: 1) the project 2) the target 3) the file 4) the
function. Notice it doesn't prepend underscores, nor does it mention
something named 'collect2' or error numbers, or other stuff that
doesn't
help me.
I expect that in 2005 Xcode should be able to give at least as
useful a
message as CW. What CW doesn't let me do is double click the error to
be taken to the line that calls linkerror(), that would be a nice
touch.
Of course, Apple only sends the bug back to me saying "Engineering can
no longer reproduce with the latest version of Xcode. Please verify
with
this release, and update this report with your results." I am left
guessing how they fixed it. If I hadn't read the release notes
carefully I would not know about this new option. Why is this option
even there, would anyone even want it off?!
One of the problems right now is that different tools are used
underneath the covers for linking (ld vs. libtool) and the choice is
controlled by other tools that are outside the direct control of
Xcode the app (collect2 is one of these tools). Given this, there are
certain cases where we are not able to pass down the flags correctly
to the underlying tools. In the long run, we want to have a more
unified approach to the linking (or at least appear to have a more
unified approached from the vantage of higher level tools like Xcode).
One thing that would really help is to know what sort of product you
are linking, so we can trace which tools are being used to link. If
you could add that information (or even a test project that shows the
failure) that would be great.
Scott
Xcode 2.2 is by far the best Xcode yet, and the rate of improvement is
happily increasing, and I was happy to see many betas available to
developers, and you guys on the mailing list are great, but Xcode
still
has a very long way to go.
--
____________________________________________________________
Sean McBride, B. Eng email@hidden
Rogue Research www.rogue-research.com
Mac Software Developer Montréal, Québec, Canada
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden