AnsweredAssumed Answered

Link error when integrating RSA iPhone SDK

Question asked by RSA Admin Employee on Feb 3, 2013

I get following link errors when trying to integrate RSA iPhone SDK with my project.


Undefined symbols for architecture i386:

  "std::string::size() const", referenced from:

      TokenMapper::convertDate(CK_DATE const&) in libO1Security.a(tokenmapper.o)

      TokenMapper::getUpdateTokenNicknameStatement(boost::shared_ptr<Token>, std::string const&) in libO1Security.a(tokenmapper.o)

      TokenMapper::getDeleteTokenStatement(std::string const&) in libO1Security.a(tokenmapper.o)

      TokenMapper::getTokenBySerialNumberStatement(std::string const&) in libO1Security.a(tokenmapper.o)

      KeyValueMapper::extractValue(boost::shared_ptr<KeyValuePair>) in libO1Security.a(keyvaluemapper.o)

      KeyValueMapper::convertKeyValuePairToRow(boost::shared_ptr<KeyValuePair>) in libO1Security.a(keyvaluemapper.o)

      KeyValueMapper::getUpdateKeyValueStatement(boost::shared_ptr<KeyValuePair>) in libO1Security.a(keyvaluemapper.o)


I've narrowed it down to following:

I can reproduce the same link error when building SampleApp from the SDK itself.


In Xcode 4.6 under build settings -> Apple LLVM compiler 4.2 - Language -> C++ Language Dialect set to GNU++11

C++ Standard Library to libstdc++

iOS Application Target to 6.0


We are using C++11 in our application and can't switch to "compiler default" setting.

I suppose what I need is an SDK which is built with C++ Language Dialect set to GNU++11.