Using ACLiC to compile using classes from cling compiled shared library

Hey ROOTers,

I have a large set of classes used in my analysis that are rather steady state and I don’t want to compile them while developing other components. I have compiled them into a shared library using rootcling, specifically

NSDRootScriptsLibDict.cxx: $(LINKHEADERS) NSDRootScriptsLibLinkDef.h rootcling -f $@ -rml NSDRootScriptsLib.so -rmf NSDRootScriptsLib.rootmap $(INCLUDEFLAGS) -c $^
and then

NSDRootScriptsLib.so: $(LIBOBJS) NSDRootScriptsLibDict.cxx $(CXX) $^ -shared -fPIC -o $@ $(CFLAGS) $(INCLUDEFLAGS) $(ROOTLIBS)
I then added the directory of the shared object library to my dynamic include path in the system.rootrc, and everything loads automatically when launching root which is great. All classes linked are functional.

My problem is, I have other shorter functions that look something like a main would if it were a strictly c++ project. I have tried to compile them by including the headers from the library files and typeing

which dumps a bunch of errors starting with

[code]2 warnings generated.
In file included from NSDRootScriptsLibDict dictionary payload:22:
/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/classes/MonteCarloConfig.h:14:33: error: base class has incomplete type
class MonteCarloConfig : public DetectorConfig
~^~~~~~~~
/Users/jb_admin/repos/nsd-rootscripts/compile/include/DetectorConfig.h:18:7: note: definition of ‘DetectorConfig’ is not complete until the closing '}'
class DetectorConfig
^
In file included from NSDRootScriptsLibDict dictionary payload:32:
/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/postProcessing/ScatterPostProcessing.h:97:39: error: implicit instantiation of undefined template ‘ScatterCutBuilder’
ScatterCutBuilder m_cutClass;
^
NSDRootScriptsLibDict dictionary forward declarations’ payload:29:153: note: template is declared here
template class attribute((annotate("$clingAutoload$/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/classes/NDAQScatterEvent.h"))) ScatterCutBuilder;
^
Error in TInterpreter::AutoParse: Error parsing payload code for class NDAQScatterTarget with content:

#line 1 “NSDRootScriptsLibDict dictionary payload”

#ifndef G__VECTOR_HAS_CLASS_ITERATOR
#define G__VECTOR_HAS_CLASS_ITERATOR 1
#endif

#define _BACKWARD_BACKWARD_WARNING_H
#include “/Users/jb_admin/repos/nsd-rootscripts/birks/BirksLightYield.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/birks/BirksTableWrapper.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/PHCalibration/CalibrationParameterFrame.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/classes/Coincidence.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/classes/Detector.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/classes/DetectorConfig.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/root_helper_classes/DigitalDaqDataManager.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/general_scripts/ExtraMath.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/birks/FunctorClass.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/birks/FunctorInterpolator.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/PHCalibration/GammaScintCalibration.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/PHCalibration/HistogramOperations.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/root_helper_classes/HistogramWriter.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/PHCalibration/LightYieldUncertainty.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/root_helper_classes/LikelyHoodEstimators.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/classes/MonteCarloConfig.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/PHCalibration/MultiDataScintCalibration.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/classes/NDAQScatterDetector.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/classes/NDAQScatterEvent.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/root_helper_classes/NTOFKinematics.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/psdScripts/PSDPlotFitter.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/PHCalibration/RangeParameterFrame.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/birks/SRIMTableReader.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/postProcessing/ScatterAnalyzerVariableDeffinitions.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/postProcessing/ScatterCutBuilder.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/postProcessing/ScatterPostProcessing.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/spectrumUnfoldingSupport/SimulationManipulation.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/scatter_analysis/PHCalibration/SumScintCalibration.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/root_helper_classes/digitalSignalProcessing.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/root_helper_classes/ndaq_file_management.h”
#include “/Users/jb_admin/repos/nsd-rootscripts/root_helper_classes/ndaq_tree_structure.h”

#undef _BACKWARD_BACKWARD_WARNING_Hg[/code]

The class it says is incomplete loads fine and can be used from within the library without trouble.
If I instead use just

It loads the program and works fine.

Again all the components of the library work fine, but when I try to compile an additional chunk of code using them and it fails.

on mac osx 10.11 using root 6.07 built from the development trunk a little while ago with a cmake configuration if that matters.
Any help would be appreciated.