C++ Visibility warning
C++ Visibility warning
- Subject: C++ Visibility warning
- From: Todd Heberlein <email@hidden>
- Date: Sun, 09 May 2010 08:17:39 -0700
In Xcode 3.2.2 I have a C++ static library and a C++ command line tool that links against it. When doing a Debug build I get a warning (see below) that a C++ map size() method has a "default" visibility in the library and a "hidden" visibility in the command line tool's .o file.
I do not get this warning when I do a Release build.
I think I remember some discussions about something like this some time ago (like the STL release and debug versions being compiled differently), but I cannot remember the details.
Is this a known issue? Should I set some compile or linking options differently in my library or application projects?
Thanks,
Todd
ld: warning: std::_Rb_tree<unsigned long long, std::pair<unsigned long long const, amf::Process*>, std::_Select1st<std::pair<unsigned long long const, amf::Process*> >, std::less<unsigned long long>, std::allocator<std::pair<unsigned long long const, amf::Process*> > >::size() const has different visibility (default) in /Users/heberlei/Development/amf/build/Debug/libAMF.a(AmfLayers.o) and (hidden) in /Users/heberlei/Development/AmfApps/build/AmfApps.build/Debug/ProcEx_batch.build/Objects-normal/x86_64/ProcEx_batch.o
The line from the command line tool that links against the library that generates the warning:
if (processLayer->all_processes.size() == 0)
The declaration from the library:
class ProcessTrackingLayer : public Layer { public: ... map<UByte8,Process*> all_processes; // all processes indexed by session ID ... };
|
_______________________________________________
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