предупреждение: std :: binary_function <int, int, bool> :: binary_function () имеет различную видимость (по умолчанию) в статической библиотеке "* .a" - PullRequest
2 голосов
/ 07 июля 2010

Я определяю std :: map в статической библиотеке .a вот так

//////////////////////////////////////
#import <map>
class CCImage;
class ImageArray{
 std::map<int,CCImage*> mapCCImages;
private:
 int imagesLength;

public:
 ImageArray();
 ~ImageArray();
 int getImageLen();
 bool addCCImage(int key,CCImage * texture,bool replace = true);
 CCImage *getCCImage(int key);
 bool deleteCCImage(int key);
 void releaseResource();
};
/////////////////////////////////////////

Я компилирую ее как статическую библиотеку в мои проекты xcode, поэтому импортирую в проект как "* .a" но когда я использую другое определение, как показано ниже:

#include <map>
using namespace std;

struct UseGoodStruct{
 short GoodID;
 Byte GDirection;
};

typedef  map<int,UseGoodStruct *>  GOODSMAP;

and then when I define another variable 

GOODSMAP m_thirdLayer;

xcode предупреждает меня, как показано ниже:

ld: warning: std::binary_function<int, int, bool>::binary_function()has different visibility (default) in /Users/Vincent/Library/Application Support/QQ/FileRecv/test/libMotion-Debug.a(ImageArray.o) and (hidden) in /Users/Vincent/Library/Application Support/FileRecv/test/build/test.build/Debug-iphonesimulator/test.build/Objects-normal/i386/GeneralDataManage.o

ld: warning: std::less<int>::less()has different visibility (default) in /Users/Vincent/Library/Application Support/FileRecv/test/libMotion-Debug.a(ImageArray.o) and (hidden) in /Users/Vincent/Library/Application Support/FileRecv/test/build/test.build/Debug-iphonesimulator/test.build/Objects-normal/i386/GeneralDataManage.o

ld: warning: std::less<int>::operator()(int const&, int const&) consthas different visibility (default) in /Users/Vincent/Library/Application Support/FileRecv/test/libMotion-Debug.a(ImageArray.o) and (hidden) in /Users/Vincent/Library/Application Support/FileRecv/test/build/test.build/Debug-iphonesimulator/test.build/Objects-normal/i386/GeneralDataManage.o

Как я могу решить эту проблему? Благодаря.

1 Ответ

0 голосов
/ 07 июля 2010

Попробуйте включить, не импортируя в первый заголовок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...