compilation error: setEdgeType was not declared in this scope

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

compilation error: setEdgeType was not declared in this scope

luis_alex
Hi all.

I am getting a compilation error that is strange while trying to compile the trunk in Fedora 17.

pcl/trunk/features/include/pcl/features/organized_edge_detection.h:210:9: error: ‘setEdgeType’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]

I checked the file organized_edge_detection.h and setEdgeType is declared in a class that is then use to derive the class that has the method that gives the error. So, the method *is* in scope, I believe!

Any ideas?

trunk: 6766.

Thanks in advance.
Luis
Reply | Threaded
Open this post in threaded view
|

Re: compilation error: setEdgeType was not declared in this scope

Stephen D. Fox
Hi Luis,

Newer versions of gcc need "this->method" now, in this case. I ran into
the same problem and that seems to have solved it.

You can see the details here [1] under "G++ now correctly implements
two-phase lookup rules."

--
Best regards,

Stephen Fox

[1] http://gcc.gnu.org/gcc-4.7/changes.html

On 08/09/2012 01:11 PM, luis_alex wrote:

> Hi all.
>
> I am getting a compilation error that is strange while trying to compile the
> trunk in Fedora 17.
>
> pcl/trunk/features/include/pcl/features/organized_edge_detection.h:210:9:
> error: ‘setEdgeType’ was not declared in this scope, and no declarations
> were found by argument-dependent lookup at the point of instantiation
> [-fpermissive]
>
> I checked the file organized_edge_detection.h and setEdgeType is declared in
> a class that is then use to derive the class that has the method that gives
> the error. So, the method *is* in scope, I believe!
>
> Any ideas?
>
> trunk: 6766.
>
> Thanks in advance.
> Luis
>
>
>
> --
> View this message in context: http://www.pcl-users.org/compilation-error-setEdgeType-was-not-declared-in-this-scope-tp4021270.html
> Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: compilation error: setEdgeType was not declared in this scope

luis_alex
Hi Stephen.

That was it: thanks!

I had to change the code in two files, in 7 lines. I find it strange that this is not solved in the trunk. Aren't most of the users in linux using gcc 4.7? They should all be facing this issue.

I can open a ticket in dev and send a patch. Do the developers think its worth it?

Cheers,
Luis

Stephen D. Fox wrote
Hi Luis,

Newer versions of gcc need "this->method" now, in this case. I ran into
the same problem and that seems to have solved it.

You can see the details here [1] under "G++ now correctly implements
two-phase lookup rules."

--
Best regards,

Stephen Fox

[1] http://gcc.gnu.org/gcc-4.7/changes.html

On 08/09/2012 01:11 PM, luis_alex wrote:
> Hi all.
>
> I am getting a compilation error that is strange while trying to compile the
> trunk in Fedora 17.
>
> pcl/trunk/features/include/pcl/features/organized_edge_detection.h:210:9:
> error: ‘setEdgeType’ was not declared in this scope, and no declarations
> were found by argument-dependent lookup at the point of instantiation
> [-fpermissive]
>
> I checked the file organized_edge_detection.h and setEdgeType is declared in
> a class that is then use to derive the class that has the method that gives
> the error. So, the method *is* in scope, I believe!
>
> Any ideas?
>
> trunk: 6766.
>
> Thanks in advance.
> Luis
>
>
>
> --
> View this message in context: http://www.pcl-users.org/compilation-error-setEdgeType-was-not-declared-in-this-scope-tp4021270.html
> Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: compilation error: setEdgeType was not declared in this scope

Sergey
Administrator
Hi Alex,

I believe that quite a number of linux users are on Ubuntu, the latest release of which ships with 4.6.3.

I think you should definitely send a patch, this may save others some time in future.

Regards,
Sergey
Reply | Threaded
Open this post in threaded view
|

Re: compilation error: setEdgeType was not declared in this scope

luis_alex
Hi Sergey

I just found that the compiler flag -fpermissive lets you compile without correcting this issue.
Anyway I will send the patch later today.

Cheers,
Luis

Sergey wrote
Hi Alex,

I believe that quite a number of linux users are on Ubuntu, the latest release of which ships with 4.6.3.

I think you should definitely send a patch, this may save others some time in future.

Regards,
Sergey
Reply | Threaded
Open this post in threaded view
|

Re: compilation error: setEdgeType was not declared in this scope

luis_alex
Done: bug #777.
Cheers,
Luis

luis_alex wrote
Hi Sergey

I just found that the compiler flag -fpermissive lets you compile without correcting this issue.
Anyway I will send the patch later today.

Cheers,
Luis

Sergey wrote
Hi Alex,

I believe that quite a number of linux users are on Ubuntu, the latest release of which ships with 4.6.3.

I think you should definitely send a patch, this may save others some time in future.

Regards,
Sergey
Reply | Threaded
Open this post in threaded view
|

Re: compilation error: setEdgeType was not declared in this scope

Stephen D. Fox
Hi Luis,

I patched the code in r6775. It is better to have the proper calls,
because the next release of Ubuntu will probably have gcc 4.7 ;)

--
Best regards,

Stephen Fox

On 08/10/2012 08:25 AM, luis_alex wrote:

> Done: bug #777.
> Cheers,
> Luis
>
>
> luis_alex wrote
>>
>> Hi Sergey
>>
>> I just found that the compiler flag -fpermissive lets you compile without
>> correcting this issue.
>> Anyway I will send the patch later today.
>>
>> Cheers,
>> Luis
>>
>>
>> Sergey wrote
>>>
>>> Hi Alex,
>>>
>>> I believe that quite a number of linux users are on Ubuntu, the latest
>>> release of which ships with 4.6.3.
>>>
>>> I think you should definitely send a patch, this may save others some
>>> time in future.
>>>
>>> Regards,
>>> Sergey
>>>
>>
>
>
>
>
> --
> View this message in context: http://www.pcl-users.org/compilation-error-setEdgeType-was-not-declared-in-this-scope-tp4021270p4021296.html
> Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
>
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users