Re: undefined reference error/g++-6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 18 July 2017 at 14:07, sothy shan <sothy.e98@xxxxxxxxx> wrote:
> On Tue, Jul 18, 2017 at 3:03 PM, Jonathan Wakely <jwakely.gcc@xxxxxxxxx> wrote:
>> On 18 July 2017 at 13:56, sothy shan wrote:
>>> Yes. I already included definition into the  libfluid_msg and compiled
>>> as seen below.
>>> /////
>>> PacketOutCommon(const PacketOutCommon &other);
>>
>> That's not a definition, that's a declaration.
>>
>> Where did you define it?
>>
>> If you only wrote this declaration then the error is completely
>> expected. You told the compiler you were defining a copy constructor,
>> but then you failed to do it. That means you lied to the compiler.
> declared and defined well. Both are msg.hh and msg.cc, respectively.
> My definintion are here:
>
> PacketOutCommon::PacketOutCommon(const PacketOutCommon& other) : OFMsg(other)
> {
>
>
>
>      this->buffer_id_= other.buffer_id_;
>      this->actions_len_ =other.actions_len_;
>      this->actions_ = other.actions_;
>
>      /
>
>      if (other.data_) {
>         this->data_ = ::operator new(other.data_len_);
>         memcpy(this->data_, other.data_, other.data_len_);
>
>
>      }
>      else
>         this->data_ = nullptr;
>
>
>
>
>      this->data_len_=other.data_len_;
>
>
>
> }
>
> PacketOutCommon& PacketOutCommon::operator=( const PacketOutCommon& other)
> {
>
>
>
>
>      this->buffer_id_= other.buffer_id_;
>      this->actions_len_ =other.actions_len_;
>      this->actions_ = other.actions_;
>
>
>      if (other.data_) {
>         this->data_ = ::operator new(other.data_len_);
>         memcpy(this->data_, other.data_,other.data_len_);
>      }
>      else
>         this->data_ = nullptr;
>
>
>      /
>
>      this->data_len_=other.data_len_;
>      return *this;
> }
>
> OK?

Where are these definitions? Did you compile them? If they're supposed
to be in libfluid_msg did you recreate libfluid_msg to include them?

You're still not providing enough information to help you. You claim
to have done things correctly, but if you did that you wouldn't have
an error. So you're doing something wrong, but you're not telling us
what you've done.

Do you see the problem? You're asking us to debug your code, without
showing us anything. We can't do that.



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux