Kamil Ignacak
2016-04-08 15:31:33 UTC
Hi!
I hope that this is a good place to send such information to.
I'm in the process of porting Viking to C++, and during compilation of
src/viktrwlayer.cpp the compiler issued multiple errors about invalid
conversions. Most of them were easy to fix and shouldn't be a problem in
C program, but there are two classes of errors that I think are worth
looking at:
1. Invalid conversion from void* to void**:
viktrwlayer.cpp: In function ‘void waypoint_search_closest_tp(gpointer,
VikWaypoint*, WPSearchParams*)’:
viktrwlayer.cpp:9081:29: error: invalid conversion from ‘gpointer {aka
void*}’ to ‘void**’ [-fpermissive]
params->closest_wp_id = id;
2. Invalid conversion from void* to GtkWidget**
viktrwlayer.cpp:1378:45: error: invalid conversion from ‘gpointer {aka
void*}’ to ‘GtkWidget** {aka _GtkWidget**}’ [-fpermissive]
GtkWidget **ww2 = values[UI_CHG_LABELS];
There are ~45 such errors in viktrwlayer.cpp.
I think that these problems *might* be caused by declarations of some
struct fields and arguments of type "gpointer *", but I may be wrong.
I understand that currently Viking can be compiled and these g++ errors
don't cause any problems in Viking. I just thought that you may be
interested.
I'm not sure if it's ok to post here compilation log +1000 lines long,
so I have just given you two examples. You can reproduce full log for
viktrwlayer.cpp by editing the file name in src/Makefile.am,
regenerating build files and attempting to compile the program.
Best regards,
Kamil
------------------------------------------------------------------------------
I hope that this is a good place to send such information to.
I'm in the process of porting Viking to C++, and during compilation of
src/viktrwlayer.cpp the compiler issued multiple errors about invalid
conversions. Most of them were easy to fix and shouldn't be a problem in
C program, but there are two classes of errors that I think are worth
looking at:
1. Invalid conversion from void* to void**:
viktrwlayer.cpp: In function ‘void waypoint_search_closest_tp(gpointer,
VikWaypoint*, WPSearchParams*)’:
viktrwlayer.cpp:9081:29: error: invalid conversion from ‘gpointer {aka
void*}’ to ‘void**’ [-fpermissive]
params->closest_wp_id = id;
2. Invalid conversion from void* to GtkWidget**
viktrwlayer.cpp:1378:45: error: invalid conversion from ‘gpointer {aka
void*}’ to ‘GtkWidget** {aka _GtkWidget**}’ [-fpermissive]
GtkWidget **ww2 = values[UI_CHG_LABELS];
There are ~45 such errors in viktrwlayer.cpp.
I think that these problems *might* be caused by declarations of some
struct fields and arguments of type "gpointer *", but I may be wrong.
I understand that currently Viking can be compiled and these g++ errors
don't cause any problems in Viking. I just thought that you may be
interested.
I'm not sure if it's ok to post here compilation log +1000 lines long,
so I have just given you two examples. You can reproduce full log for
viktrwlayer.cpp by editing the file name in src/Makefile.am,
regenerating build files and attempting to compile the program.
Best regards,
Kamil
------------------------------------------------------------------------------