Hi all,
I’m developing an OptiX 9.0.0-based ray tracer on Windows using dynamic linking via optixInit(). Everything compiles fine, but at link time, I get an undefined symbol error:
undefined symbol: g_optixFunctionTable_105
To get past it, I temporarily defined this symbol myself:
OptixFunctionTable g_optixFunctionTable_105 = {};
Surprisingly, the app runs and optixInit() populates the function table correctly, but obviously this is more a hack than a proper solution.
Upon investigation, I noticed my OptiX SDK install (in C:/ProgramData/NVIDIA Corporation/OptiX SDK 9.0.0/) does not contain optix.1.dll or any .lib files (except glfw3dll.lib). I believe the dynamic loader expects one of these to be present to resolve the g_optixFunctionTable_* symbol.
My questions:
- Is this expected? Should the OptiX SDK ship with
optix.1.dllor a.libstub to satisfy linking? - What’s the correct way to use dynamic linking with OptiX if
optix.1.dllisn’t present? - Should I manually copy the DLL from somewhere else (driver folder, another system)?
- Is my workaround dangerous or fragile?
Thanks in advance!