[odb-users] Re: ODB compiler issue. To-one relation with shared_ptr

Konstantin Tarovik konstantin.tarovik at ab-soft.net
Wed Apr 22 08:39:16 EDT 2015


Hi all,

I've found the solution. I needed to pass  "--std c++11" to ODB compiler.

Thank you.

Best regards,
Konstantin Tarovik

On 4/21/15 7:17 PM, Konstantin Tarovik wrote:
> Hi all,
>
> I have issue with ODB compiler on OSX 10.10. When I try to compile 
> class implementing to-one relation with shared_ptr I get the following 
> error:
>
> *>> /Users/user/Documents/Work/SDKs/ODB/odb-2.4.0-i686-macosx/bin/odb 
> -d sqlite --generate-schema --generate-query message_imp.hpp**
> *
> *message_imp.hpp:75:10: error: 'shared_ptr' in namespace 'std' does 
> not name a template type**
> **     std::shared_ptr<Contact>  _sender;**
> **          ^**
> **message_imp.hpp:83:28: error: unable to resolve name 
> 'Message::_sender' in db pragma member**
> *
> When I compile the same class with shared_ptr changed to auto_ptr ODB 
> generates code with no problems but auto_ptr is not suitable for me. I 
> use ODB compiler binary downloaded from 
> http://www.codesynthesis.com/products/odb/download.xhtml
>
> Class code:
>
> *class Message : public IMessage {**
> **public:**
> **    Message();**
> **    Message(const Message& m);**
> **    Message(const std::string& text, int messageId, int 
> conversationId);**
> **
> **    const std::string& text() const;**
> **    void setText(const std::string& text);**
> **
> **    int messageId() const;**
> **    void setMessageId(int messageId);**
> ****
> **    int conversationId() const;**
> **    void setConversationId(int conversationId);**
> **
> //private:
>
> **    std::shared_ptr<Contact> _sender;**
> **    std::string _text;**
> **    unsigned long _creationTime;**
> **    int _conversationId;**
> **    int _messageId;**
> **};**
> **
> **#pragma db object(Message)**
> **#pragma db member(Message::_sender)**
> **#pragma db member(Message::_text)**
> **#pragma db member(Message::_creationTime)**
> **#pragma db member(Message::_conversationId)**
> **#pragma db member(Message::_messageId) id auto**
> *
> Please advice.
>
> Thank you.
>
> Best regards,
> Konstantin Tarovik
>
>
>



More information about the odb-users mailing list