Visibility too restrictive for externally defined C++ nodes & adapters
Describe the bug This PR introduced hidden visibility for most symbols in the build on non-windows machines. Unfortunately, this hides too many symbols that would be used in external C++ adapters and node definitions.
Error Message
(from build then run of the c++ example nodes, for instance)
symbol not found in flat namespace __________
Can you paste the actual link error that you hit
symbol not found in flat namespace '__ZN3csp4Node11createAlarmERNSt3__110shared_ptrIKNS_7CspTypeEEEm'
symbol not found in flat namespace '__ZN3csp4EnumINS_7CspType10TypeTraitsEE7mappingEv'
symbol not found in flat namespace '__ZN3csp12CspArrayType6createERKNSt3__110shared_ptrIKNS_7CspTypeEEEb'
createAlarm from a node definition. While Enum and CspArrayType are from the partially defined func's used in the various message mappers.
From this example
symbol not found in flat namespace '__ZN3csp14CycleStepTable8scheduleEPNS_8ConsumerE'
Thanks Will - I can repro this using our CPP examples. As @svatasoiu is out for the next 2 weeks I'll try to take a look at a fix.
No problem. I'll try to produce a repro using an adapter or types sometime this week.