BongoSDK with Rhino 6 won't compile

OK, so I downloaded the BongoSDK 2.0 (from here). The “BongoSdkTester” project in the download seemed to be a VS2010 project, with all its paths pointing to Rhino 5 SDK.

I have Rhino 6 though, and documentation says that Rhino 6 SDK/C++ only works with VS2017 so I updated the project to VS2017. But when I try to compile it doesn’t seem to find some files related to Rhino 6.

The project seems to be Bongo-aware though, but not fully Rhino-aware, so to speak. Unsure of how C++ projects must be configured but I tried to follow the instructions for C++ plugins on this page and I set the Property Sheet File set properly, like so:
bild

I also modified the stdafx.h removing old paths and adding “#include "RhinoSdkStdafxPreamble.h” and at the end of the file I added “#include "rhinoSdkPlugInLinkingPragmas.h” etc to make that file happy as well, and I also modified the header files adding the keyword “override” to the “Required overrides”. I also fixed some macros which wasn’t in the mode using a fix as documented in the sooruce code,

#include "C:\Program Files\Rhino 6 SDK\inc\rhinoSdkPlugInDeclare.h"
RHINO_PLUG_IN_DECLARE

… which helped a lot, but I’m still left with 71 errors. Hopefully someone can figure out what’s missing in the project (which came with the BongoSDK 2.0) when seeing some of the errors ni the list:

The project wasn’t happy with VS2010 nor with VS2017 after all these modifications. I can create a new “clean” Rhino C++ plugin in VS2017 though, and then it compiles, but the BongoSDKTester project isn’t happy at all.

// Rolf

Errors:

Severity	Code	Description	File	Project	Line	Suppression State
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_3dm_attributes.h	BongoSdkTester	61	
Error	C2065	'CRhinoPlugInManager': undeclared identifier	d:\dev\cad\bongo\bongosdktester\bongosdktester\bongosdktesterplugin.cpp	BongoSdkTester	96	
Error	C2065	'pim': undeclared identifier	d:\dev\cad\bongo\bongosdktester\bongosdktester\bongosdktesterplugin.cpp	BongoSdkTester	96	
Error	C2065	'pim': undeclared identifier	d:\dev\cad\bongo\bongosdktester\bongosdktester\bongosdktesterplugin.cpp	BongoSdkTester	97	
Error (active)	E1835	attribute "deprecated" does not apply here	C:\Program Files\Rhino 6 SDK\inc\RhinoSdkDib.h	BongoSdkTester	636	
Error (active)	E0147	declaration is incompatible with "void ON_SetBinaryArchiveOpenNURBSVersion" (declared at line 556)	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_archive.h	BongoSdkTester	4609	
Error (active)	E0029	expected an expression	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_archive.h	BongoSdkTester	556	
Error (active)	E0020	identifier "CRhinoPlugInManager" is undefined	D:\DEV\CAD\BONGO\BongoSdkTester\BongoSdkTester\BongoSdkTesterPlugIn.cpp	BongoSdkTester	96	
Error (active)	E0020	identifier "ON_BinaryArchive" is undefined	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_archive.h	BongoSdkTester	556	
Error (active)	E0020	identifier "ON_BinaryArchive" is undefined	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_object.h	BongoSdkTester	664	
Error (active)	E0020	identifier "ON_BinaryArchive" is undefined	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_object.h	BongoSdkTester	684	
Error (active)	E0020	identifier "ON_String" is undefined	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_error.h	BongoSdkTester	165	
Error (active)	E0020	identifier "pim" is undefined	D:\DEV\CAD\BONGO\BongoSdkTester\BongoSdkTester\BongoSdkTesterPlugIn.cpp	BongoSdkTester	96	
Error (active)	E0070	incomplete type is not allowed	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_archive.h	BongoSdkTester	556	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_3dm_attributes.h	BongoSdkTester	59	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_3dm_settings.h	BongoSdkTester	730	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_3dm_settings.h	BongoSdkTester	731	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_bitmap.h	BongoSdkTester	59	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_bitmap.h	BongoSdkTester	60	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_bitmap.h	BongoSdkTester	258	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_bitmap.h	BongoSdkTester	259	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_brep.h	BongoSdkTester	267	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_brep.h	BongoSdkTester	270	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_brep.h	BongoSdkTester	533	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_brep.h	BongoSdkTester	535	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_brep.h	BongoSdkTester	923	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_brep.h	BongoSdkTester	925	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_brep.h	BongoSdkTester	1075	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_brep.h	BongoSdkTester	1077	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_brep.h	BongoSdkTester	1371	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_brep.h	BongoSdkTester	1372	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_brep.h	BongoSdkTester	1443	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_brep.h	BongoSdkTester	1444	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_brep.h	BongoSdkTester	2245	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_brep.h	BongoSdkTester	2248	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_curveproxy.h	BongoSdkTester	212	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_curveproxy.h	BongoSdkTester	216	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_detail.h	BongoSdkTester	43	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_detail.h	BongoSdkTester	47	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_dimensionstyle.h	BongoSdkTester	424	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_dimensionstyle.h	BongoSdkTester	429	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_group.h	BongoSdkTester	59	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_group.h	BongoSdkTester	63	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_hatch.h	BongoSdkTester	412	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_hatch.h	BongoSdkTester	413	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_instance.h	BongoSdkTester	255	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_instance.h	BongoSdkTester	268	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_instance.h	BongoSdkTester	663	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_instance.h	BongoSdkTester	666	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_layer.h	BongoSdkTester	62	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_layer.h	BongoSdkTester	66	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_light.h	BongoSdkTester	46	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_light.h	BongoSdkTester	50	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_linetype.h	BongoSdkTester	109	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_linetype.h	BongoSdkTester	117	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_material.h	BongoSdkTester	143	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_material.h	BongoSdkTester	147	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_nurbscurve.h	BongoSdkTester	204	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_nurbscurve.h	BongoSdkTester	210	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_pointcloud.h	BongoSdkTester	68	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_pointcloud.h	BongoSdkTester	71	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_surfaceproxy.h	BongoSdkTester	77	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_surfaceproxy.h	BongoSdkTester	81	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_text.h	BongoSdkTester	243	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_text.h	BongoSdkTester	247	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_texture.h	BongoSdkTester	158	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_texture.h	BongoSdkTester	162	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_texture_mapping.h	BongoSdkTester	190	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_texture_mapping.h	BongoSdkTester	194	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_text_style.h	BongoSdkTester	169	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_text_style.h	BongoSdkTester	172	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_viewport.h	BongoSdkTester	142	
Error (active)	E1455	member function declared with 'override' does not override a base class member	C:\Program Files\Rhino 6 SDK\openNURBS\opennurbs_viewport.h	BongoSdkTester	158	

https://www.rhino3d.com/download/bongo-sdk/5/release

I just updated the SDK, it should now be v6 compatible.

2 Likes

Thank you very much @marika_almgren, now it compiles without any hassle!

// Rolf

2 Likes