Dll conflict 3dsmax 2021


#1

I have been trying to build a compatible version for 3dsmax 2021 and there is a conflict between different versions of openimageIO and tbb.dll that already exist in 3dsmax 2021 and the one Luxcorerender need.
Until 3dsmax 2020 I manage to solve compatibility between openimageIO.dll and tbb.dll that works out for the best but in 3dsmax 2021 Arnold renderer needs a different version and the Luxcore always try to use Dll in the 3dsmax root directory.
How can I solve this without modifying the Luxcorerender code, because I don’t want to modify the Luxcore source code every time that I need to update and build the Luxcorerender code?
Any suggestions here?


#2

A) build the openImageIO and tbb dll’s with a different name (ie. append some version number)
copy this dlls into same folder where your luxcorerender sits

then this “custom” dlls will be used for the lux-render, not the ones in max-root
works here with a custom vdb-dll

or,
B) if you load this dlls using LoadLibrary, you can use SetDllDirectory-function


#3

I will be looking into your solutions and see if it’s going to work.