Facing build problems on Windows, I decided to update to 0.8.1. While its build is much quieter, I'm still having troubles.
First, I didn't even realize that 0.8.1 had been tagged. I really appreciate the effort that Chris and Clifford have put in over the years -- it is pretty amazing. I would have thought that so many changes would have warranted a larger version bump. Oh well.
That said -- I have to complain that there was no sort of announcement made about the 0.8.1 release. Or if there was, I wasn't signed up in the right place -- and I would have expected it to be mentioned on this mailing list. I don't check the StepCODE website and git repo regularly -- typically only when I'm having trouble. I'm signed up for this group so I can catch anything that might be of interest. This is not exactly a fast moving project or a high traffic list. I can't make use of your amazing contributions if I don't even know they exist.
Background:
As discussed in prior threads, OpenVSP uses the SuperBuild model and uses STEPCode as an ExternalProject_add. Our use of SC was stubbed out in the examples/ap203min directory to provide a resource. I see that at some point, Mark made changes to that example -- which were the exact changes I needed to get OpenVSP to build against the updated version. So, the first part of including ap203min in the tree worked. Unfortunately, I'm pretty sure that the ExternalProject_add and FindSTEPCODE.cmake as listed there would not work anymore. I will try to fix them -- once I figure out the fixes to get OpenVSP building with 0.8.1.
First, something in STEPCode now obeys CMAKE_INSTALL_PREFIX instead of SC_INSTALL_PREFIX. The install step was failing because of lack of permissions to write to the default location. I would support getting rid of SC_INSTALL_PREFIX entirely -- but I think both are currently needed to get the install to go to a desired location. (IMHO, SC_INSTALL_PREFIX and SC_BUILD_TYPE should be replaced with the canonical CMAKE versions that are standard practice, SC_FOO variables should be used for SC specific stuff.).
Next, a bunch of the static libraries (on windows) used to be named things like libstepcore.lib, libsteputils.lib -- they have now dropped the 'lib'. Except for libexppp.lib for some reason. I don't really care about the name change, but I wanted to confirm that it was intentional. I have not tried on Mac and Linux yet to see if those names have changed.
From what I can tell, the ${schema} libraries are not installed. The header files are installed to include, but the *.lib is not installed to lib and the *.dll is not installed to bin.
I had to change -DSC_BUILD_SCHEMAS=ap203/ap203.exp to -DSC_BUILD_SCHEMAS=ap203 to get it to build the schema. The documentation still indicates that I should set a path -- but that seems like it should point to data/ap203/ap203.exp. The docs also say that it will build all schemas -- perhaps that got turned off because I passed a non-empty variable -- but since it did not match what was expected, it got nothing at all.
What has happened to the base library? The website documentation still talks about it, but I can't find it in the build anywhere.
My current known problems...
1) the schema does not install. I can copy it manually.
2) I still have a bunch of unresolved symbols (list below)
Thanks in advance for any help,
Rob
util.lib(CADutil.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl SchemaInit(class Registry &)" (__imp_?SchemaInit@@YAXAEAVRegistry@@@Z) referenced in function "public: __cdecl STEPutil::STEPutil(int const &,double const &)" (??0STEPutil@@QEAA@AEBHAEBN@Z)
util.lib(CADutil.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl SdaiKnot_type_var::SdaiKnot_type_var(enum Knot_type,class EnumTypeDescriptor *)" (__imp_??0SdaiKnot_type_var@@QEAA@W4Knot_type@@PEAVEnumTypeDescriptor@@@Z) referenced in function "public: class SdaiB_spline_curve_with_knots * __cdecl STEPutil::MakeCurve(class std::vector<class vec3d,class std::allocator<class vec3d> >,int const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool,bool,double)" (?MakeCurve@STEPutil@@QEAAPEAVSdaiB_spline_curve_with_knots@@V?$vector@Vvec3d@@V?$allocator@Vvec3d@@@std@@@std@@AEBHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@4@_N3N@Z)
util.lib(CADutil.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl SdaiB_spline_curve_form_var::SdaiB_spline_curve_form_var(enum B_spline_curve_form,class EnumTypeDescriptor *)" (__imp_??0SdaiB_spline_curve_form_var@@QEAA@W4B_spline_curve_form@@PEAVEnumTypeDescriptor@@@Z) referenced in function "public: class SdaiB_spline_curve_with_knots * __cdecl STEPutil::MakeCurve(class std::vector<class vec3d,class std::allocator<class vec3d> >,int const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool,bool,double)" (?MakeCurve@STEPutil@@QEAAPEAVSdaiB_spline_curve_with_knots@@V?$vector@Vvec3d@@V?$allocator@Vvec3d@@@std@@@std@@AEBHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@4@_N3N@Z)
util.lib(CADutil.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl SdaiSi_unit_name_var::SdaiSi_unit_name_var(enum Si_unit_name,class EnumTypeDescriptor *)" (__imp_??0SdaiSi_unit_name_var@@QEAA@W4Si_unit_name@@PEAVEnumTypeDescriptor@@@Z) referenced in function "protected: class STEPcomplex * __cdecl STEPutil::Geometric_Context(enum vsp::LEN_UNITS const &,enum vsp::ANG_UNITS const &,char const *)" (?Geometric_Context@STEPutil@@IEAAPEAVSTEPcomplex@@AEBW4LEN_UNITS@vsp@@AEBW4ANG_UNITS@4@PEBD@Z)
util.lib(CADutil.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl SdaiTrimming_preference_var::SdaiTrimming_preference_var(enum Trimming_preference,class EnumTypeDescriptor *)" (__imp_??0SdaiTrimming_preference_var@@QEAA@W4Trimming_preference@@PEAVEnumTypeDescriptor@@@Z) referenced in function "public: void __cdecl STEPutil::MakeSurfaceCurve(class std::vector<class vec3d,class std::allocator<class vec3d> >,int const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool,double)" (?MakeSurfaceCurve@STEPutil@@QEAAXV?$vector@Vvec3d@@V?$allocator@Vvec3d@@@std@@@std@@AEBHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@_NN@Z)
util.lib(CADutil.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl SdaiB_spline_surface_form_var::SdaiB_spline_surface_form_var(enum B_spline_surface_form,class EnumTypeDescriptor *)" (__imp_??0SdaiB_spline_surface_form_var@@QEAA@W4B_spline_surface_form@@PEAVEnumTypeDescriptor@@@Z) referenced in function "public: class SdaiSurface * __cdecl STEPutil::MakeSurf(class eli::geom::surface::piecewise<class eli::geom::surface::bezier,double,3,class eli::util::tolerance<double> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool,double)" (?MakeSurf@STEPutil@@QEAAPEAVSdaiSurface@@AEAV?$piecewise@Vbezier@surface@geom@eli@@N$02V?$tolerance@N@util@4@@surface@geom@eli@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_NN@Z)
util.lib(CADutil.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl SdaiAhead_or_behind_var::SdaiAhead_or_behind_var(enum Ahead_or_behind,class EnumTypeDescriptor *)" (__imp_??0SdaiAhead_or_behind_var@@QEAA@W4Ahead_or_behind@@PEAVEnumTypeDescriptor@@@Z) referenced in function "protected: class SdaiDate_and_time * __cdecl STEPutil::DateTime(void)" (?DateTime@STEPutil@@IEAAPEAVSdaiDate_and_time@@XZ)
util.lib(CADutil.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl SdaiSource_var::SdaiSource_var(enum Source,class EnumTypeDescriptor *)" (__imp_??0SdaiSource_var@@QEAA@W4Source@@PEAVEnumTypeDescriptor@@@Z) referenced in function "protected: void __cdecl STEPutil::STEPBoilerplate(enum vsp::LEN_UNITS const &,char const *)" (?STEPBoilerplate@STEPutil@@IEAAXAEBW4LEN_UNITS@vsp@@PEBD@Z)
util.lib(CADutil.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl SdaiSi_prefix_var::SdaiSi_prefix_var(enum Si_prefix,class EnumTypeDescriptor *)" (__imp_??0SdaiSi_prefix_var@@QEAA@W4Si_prefix@@PEAVEnumTypeDescriptor@@@Z) referenced in function "protected: class STEPcomplex * __cdecl STEPutil::Geometric_Context(enum vsp::LEN_UNITS const &,enum vsp::ANG_UNITS const &,char const *)" (?Geometric_Context@STEPutil@@IEAAPEAVSTEPcomplex@@AEBW4LEN_UNITS@vsp@@AEBW4ANG_UNITS@4@PEBD@Z)
sdai_ap203-static.lib(SdaiCONFIG_CONTROL_DESIGN_unity_types.obj) : error LNK2001: unresolved external symbol "class SDAI_Application_instance NilSTEPentity" (?NilSTEPentity@@3VSDAI_Application_instance@@A)
sdai_ap203-static.lib(SdaiCONFIG_CONTROL_DESIGN_unity_entities.obj) : error LNK2001: unresolved external symbol "class TypeDescriptor const * const t_sdaiINTEGER" (?t_sdaiINTEGER@@3QEBVTypeDescriptor@@EB)
sdai_ap203-static.lib(SdaiCONFIG_CONTROL_DESIGN_unity_entities.obj) : error LNK2001: unresolved external symbol "class TypeDescriptor const * const t_sdaiREAL" (?t_sdaiREAL@@3QEBVTypeDescriptor@@EB)
sdai_ap203-static.lib(SdaiCONFIG_CONTROL_DESIGN_unity_entities.obj) : error LNK2001: unresolved external symbol "class TypeDescriptor const * const t_sdaiBOOLEAN" (?t_sdaiBOOLEAN@@3QEBVTypeDescriptor@@EB)
sdai_ap203-static.lib(SdaiCONFIG_CONTROL_DESIGN_unity_entities.obj) : error LNK2001: unresolved external symbol "class TypeDescriptor const * const t_sdaiLOGICAL" (?t_sdaiLOGICAL@@3QEBVTypeDescriptor@@EB)