Aurloader_s.lib: unresolved external symbol?

I’m trying to include aurloader as a static library in my plugin (building as dynamic w/auroloader.dll works fine).

However, I get the following error when building statically:

Error LNK2019 unresolved external symbol “void __cdecl terminate(void)” (?terminate@@YAXXZ) referenced in function “public: __cdecl PhoenixFrameData::PGroup::PGroup(struct PhoenixFrameData::PGroup const &)” (??0PGroup@PhoenixFrameData@@QEAA@AEBU01@@Z) aurloader_s.lib(PhoenixFrame.obj) 1

Which library is this function included in? I’ve tried including all the libraries shipped with the PhoenixSDK but none of them resolve the symbol.

Hmm, could this be std::terminate()? Google says this might be an issue with Qt5 - which compiler and which version of the Phoenix SDK are you using - Max/Maya and which year?

I’m using the Max/Phoenix 2017 SDK, VS2015.

Sorry for the late reply! No luck so far trying to reproduce it here. Would it be possible to share what functions from the Phoenix SDK do you call? Do you have any luck compiling the two examples with the SDK?

No problem,

I include the following files:

aurloader.h
aurinterface.h
phxcontent.h
aura_ver.h
phx_math.x

And call:

deleteIAur
newIAur
As well as IAur class functions: GetDim, GetObject2GridTransform, ChannelPresent, ExpandChannel, etc

I haven’t tried compiling the examples statically…when I get a chance I’ll try that as well.

For now I’ve enabled the /FORCE:UNRESOLVED flag in the compiler so my project can at least build…but that’s obviously not ideal…

Strange stuff, so I’m trying now with Visual Studio 2015 Update 3, but building with vc110 (Studio 2012’s toolset) because of Max SDK 2017 (here’s a reference table of the toolsets used for the Phoenix SDK for different versions of Max: Chaos Docs). Maybe you are building with vc14 instead?

Console application with no pregenerated code, all defaults, except:
- include paths to “C:\Program Files\Chaos Group\Phoenix FD\3ds Max 2017 for x64\SDK\include” and also the 3ds Max 2017’s SDK include dir.
- library paths to “C:\Program Files\Chaos Group\Phoenix FD\3ds Max 2017 for x64\SDK\lib”; also to ZLib for x64/vc11, and also to “ComposerXE_2016_16.0\compiler\lib\intel64” from where libmmd.lib must be acquired. The last is another potential cause of differences between my setup and yours.
- libs: aurloader_s.lib;vutils_s.lib;libmmd.lib;zlib_s.lib

Hope this will help compare our settings and shed some light on the issue. Have you had a chance to attempt compiling the examples?

Cheers!

So I’ve been able to build the sample GridView project statically, without error, so my guess is one of the many 3rd party libraries I’ve incorporated into my main project has undef’d something or whatever and that’s what is causing the error.

Thanks for your help, and sorry for wasting your time! In the meantime, I’ll keep digging :slight_smile:

Please ping me if you find out which library caused it - it would be best if we can make whatever changes are needed in order to be compatible with anything, but it would be needed to be able to reproduce the issue here first.

Cheers!