Re: Linker shows "has different visibility" warning (2nd)
Re: Linker shows "has different visibility" warning (2nd)
- Subject: Re: Linker shows "has different visibility" warning (2nd)
- From: Greg Guerin <email@hidden>
- Date: Sat, 12 Jan 2008 12:44:57 -0700
Dieter Oberkofler wrote:
>..... before there where no warning and now I have several thousand warning
>in a single link. The gcc version stayed the same, so where does this come
>from?
I can think of a few possibilities:
1. an unpopped visibility push() pragma in a system header file.
2. a compile-time conditional that evaluates differently.
3. different default Xcode compiler settings.
I'm not sure how to look for #1 or #2, but #3 would use the build
transcript for a compilation under Xcode 2.4.1 and the same compilation
done under Xcode 2.5. If the gcc options differ, then every difference
should be explained.
I don't suppose there's a gcc diagnostic where you can get it to list its
stack of pushed pragma states, because that's the simple way I can think to
find #1 or #2. If gcc won't help in the diagnosis, you could find all the
visibility pragmas in all the headers and source, and see if they balance.
That's the kind of thing awk or perl could easily handle.
The only other thing I can think of is to try and narrow the problem down
to a minimal fail case. You'd have to look at the symbols that are in the
warnings, go to their source files, and duplicate the series of includes to
see if you can cause the problem to occur with a single file in a simple
project or target. BTW, if one of the sources were compiled in a new
virgin project, and it works there, then the problem is likely a setting in
the original project.
One last possibility is that one or more of your files is actually
different, even though you believe all files to be the same.
-- GG
_______________________________________________
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