Having trouble compiling panda3d on Windows


#1

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
.exp
assimp.lib(DefaultIOSystem.obj) : error LNK2019: ссылка на неразрешенный внешний
 символ __imp__IsTextUnicode@12 в функции "public: virtual bool __thiscall Assim
p::DefaultIOSystem::Exists(char const *)const " (?Exists@DefaultIOSystem@Assimp@
@UBE_NPBD@Z)
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
SVCIRTD.LIB /FIXED:NO /OPT:REF /STACK:4194304 /INCREMENTAL:NO  /OUT:built/bin/li
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
/IrrXML.lib

#2

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


#3

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


#4

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?


#5

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


#6

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.


#7

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


#8

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.


#9

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


#10

(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.)