Hello everyone, I’ve been attempting a OpenUSD C++ static libraries build and confirmed that my C++ unix executable no longer depends on other OpenUSD .so libraries.
I used
python build_scripts/build_usd.py --no-python --usd-imaging --no-usdview --no-materialx --build-args=USD,"-DBUILD_SHARED_LIBS=OFF -DPXR_BUILD_MONOLITHIC=OFF" ./build
I am still getting plugin resolver issues though:
$ build/myusdprogram
Will check plugin info paths:
Did check plugin info paths in 0.000001 seconds
Coding Error: in _GetPluginForType at line 163 of /home/usergfp/OpenUSD/pxr/usd/ar/resolver.cpp -- Failed to find plugin for ArDefaultResolver
Segmentation fault (core dumped)
I included the libusd_ar.a
library for linking, how come I’m still getting this error about missing plugins?
Docs say
Static Libraries
This mode builds several static libraries. This option allows embedding just the libraries necessary for a given task. However, it does not allow USD plugins or Python modules since that would necessarily cause multiple symbol definitions; for any given symbol we’d have an instance in the main application and another in each plugin/module.
Doesn’t this mean that plugins should be embedded on a as-needed basis and no longer required to be searched for in paths?
Thanks for any help!