You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Feb 21, 2021. It is now read-only.
When compiling code there is some warnings that have to be avoided:
Scanning dependencies of target progeo
[ 29%] Building C object src/stable/libs/progeo/CMakeFiles/progeo.dir/progeo.c.o
/home/redstar/Documentos/jderobot/temp/JdeRobot/src/stable/libs/progeo/progeo.c:581:6: warning: conflicting types for ‘update_camera_matrix’ [enabled by default]
void update_camera_matrix(TPinHoleCamera *camera)
^
/home/redstar/Documentos/jderobot/temp/JdeRobot/src/stable/libs/progeo/progeo.c:345:2: note: previous implicit declaration of ‘update_camera_matrix’ was here
update_camera_matrix(&camera);
^
Linking C static library libprogeo.a
[ 29%] Built target progeo
Scanning dependencies of target progeoshare
[ 29%] Building C object src/stable/libs/progeo/CMakeFiles/progeoshare.dir/progeo.c.o
/home/redstar/Documentos/jderobot/temp/JdeRobot/src/stable/libs/progeo/progeo.c:581:6: warning: conflicting types for ‘update_camera_matrix’ [enabled by default]
void update_camera_matrix(TPinHoleCamera *camera)
^
/home/redstar/Documentos/jderobot/temp/JdeRobot/src/stable/libs/progeo/progeo.c:345:2: note: previous implicit declaration of ‘update_camera_matrix’ was here
update_camera_matrix(&camera);
^
Linking C shared library libprogeo.so
This problem is due to lack of definition of the functions in C compiler at the header file:
But this change will fire a critical compile error:
[ 29%] Built target JderobotInterfaces
Scanning dependencies of target progeo
[ 29%] Building C object src/stable/libs/progeo/CMakeFiles/progeo.dir/progeo.c.o
/home/redstar/Documentos/jderobot/temp/JdeRobot/src/stable/libs/progeo/progeo.c: In function ‘reverse_update_camera_matrix’:
/home/redstar/Documentos/jderobot/temp/JdeRobot/src/stable/libs/progeo/progeo.c:536:2: error: incompatible type for argument 3 of ‘backproject’
backproject(&out, in, camera);
^
In file included from /home/redstar/Documentos/jderobot/temp/JdeRobot/src/stable/libs/progeo/progeo.c:23:0:
/home/redstar/Documentos/jderobot/temp/JdeRobot/src/stable/libs/progeo/progeo.h:105:5: note: expected ‘TPinHoleCamera’ but argument is of type ‘struct TPinHoleCamera *’
int backproject(HPoint3D *out, HPoint2D in, TPinHoleCamera camera);
^
/home/redstar/Documentos/jderobot/temp/JdeRobot/src/stable/libs/progeo/progeo.c:561:2: error: incompatible type for argument 3 of ‘backproject’
backproject(&p3, p2_rt_complete, camera);
^
In file included from /home/redstar/Documentos/jderobot/temp/JdeRobot/src/stable/libs/progeo/progeo.c:23:0:
/home/redstar/Documentos/jderobot/temp/JdeRobot/src/stable/libs/progeo/progeo.h:105:5: note: expected ‘TPinHoleCamera’ but argument is of type ‘struct TPinHoleCamera *’
int backproject(HPoint3D *out, HPoint2D in, TPinHoleCamera camera);
^
make[2]: *** [src/stable/libs/progeo/CMakeFiles/progeo.dir/progeo.c.o] Error 1
make[1]: *** [src/stable/libs/progeo/CMakeFiles/progeo.dir/all] Error 2
make: *** [all] Error 2
Hello @ojgarciab, I checked it and you was right, even in dangerous consideration of change: _any code that uses progeo with this compiler bug is using an incorrect implicit API_
discussion at #18
When compiling code there is some warnings that have to be avoided:
This problem is due to lack of definition of the functions in C compiler at the header file:
It could be fixed creating a "else" case:
But this change will fire a critical compile error:
So we need to change proceo.c too:
But I don't want to upload this fix because I don't use progeo.
Please, could someone that use progeo test my patch?
Thanks!
The text was updated successfully, but these errors were encountered: