Having trouble compiling panda3d on Windows


I am having trouble compiling Panda3D on Windows 8.1 x64 with Visual Studio 2017.

makepanda\makepanda.bat --everything --installer --no-eigen --msvc-version=14.1 --threads=1 --arch=x86

[T1] Linking dynamic library built/bin/libp3assimp.dll
   Создается библиотека built/lib/libp3assimp.lib и объект built/lib/libp3assimp
assimp.lib(DefaultIOSystem.obj) : error LNK2019: ссылка на неразрешенный внешний
 символ __imp__IsTextUnicode@12 в функции "public: virtual bool __thiscall Assim
p::DefaultIOSystem::Exists(char const *)const " (?Exists@DefaultIOSystem@Assimp@
built/bin/libp3assimp.dll : fatal error LNK1120: неразрешенных внешних элементов
: 1
The following command returned a non-zero value: link /nologo  /NOD:MFC90.LIB /N
OD:MFC80.LIB /NOD:LIBCMT /NOD:LIBCI.LIB /DEBUG /nod:libc /nod:libcmtd /nod:atlth
unk /nod:atls /nod:atlsd /DLL /MAP:NUL /NOD:MSVCRTD.LIB /NOD:MSVCPRTD.LIB /NOD:M
bp3assimp.dll /NOD:python27.lib /SUBSYSTEM:CONSOLE,5.01 /IMPLIB:built/lib/libp3a
ssimp.lib /LIBPATH:thirdparty/win-python/libs built/tmp/p3assimp_composite1.obj
built/lib/libpanda.lib built/lib/libpandaexpress.lib built/lib/libp3dtool.lib bu
ilt/lib/libp3dtoolconfig.lib thirdparty/win-libs-vc14/zlib/lib/zlibstatic.lib th
irdparty/win-libs-vc14/assimp/lib/assimp.lib thirdparty/win-libs-vc14/assimp/lib


Do you have the assimp library available in your build environment?


Yep. I built it in the thirdparty directory using the panda3d-thirdparty repo.


It’s not immediately obvious to me. What happens if you replace that copy of assimp with the ones we provide in the thirdparty packages on the download page?


Where in “Thirdparty tools for Windows (32-bit)” is there the assimp folder?


You should get the 64-bit one, not the 32-bit one. It should be in panda3d-1.10.0/thirdparty/win-libs-vc14-x64/assimp which you can drop in instead of the one you built using the panda3d-thirdparty repo.


I’m trying to build 32 bit since unfortunately I have to support windows xp.


By the way, if you are not using Assimp, you can skip building libp3assimp using --no-assimp. However, you may just run into similar problems with other libraries.


Perfect! That was exactly what I needed. Everything else compiled perfectly.


(For the record, Windows XP is still supported by the 64-bit build, as long as you use either Python 2.7 or 3.4, but it makes sense that you might still want to support 32-bit machines as well if you are targeting XP.)