Panda3D/Manual/ppremake no windows
Essa página descreve problemas potenciais de compilação que podem surgir quando compilando Panda3D com o sistema de compilação PPremake, ma plataforma Windows, e possíveis soluções.
ppremake não roda (access violation 0xc0000005)
A versão de Abril/Maio 2005 de Cygwin pode ter tido um problema com getopt.
Simplesmente abra config.h no diretorio ppremake, substitua "#define HAVE_GETOPT 1" com "#undef HAVE_GETOPT", então rode novamente "make" e "make install".
Opção de link inválida /DEBUG, quando rodando make
Esse erro (ou algo similar) é causado pelo make rodando o link Cygwin´s do que seu msvc link.exe. Simplesmente renomeie /usr/bin/link para /usr/bin/_link, e rode novamente make.
Compilar usando Microsoft Visual C++ Toolkit 2003
Basicamente siga as intruções oficiais de compilação, usando Cygwin como plataforma de configuração e Microsoft Visual C++ Toolkit 2003 como compilador (voce têm que fazer bastante, essa configuração é bem próxima da configuração primária que eles suportam).
Pré-requisitos:
- Microsoft Visual C++ Toolkit 2003
- msvcrt.lib and msvcprt.lib (veja Notas sobre Microsoft Visual CPP Toolkit 2003)
- DirectX (Mesmo que você não o esteja usando, você precisa dos headers)
- Cygwin
- Fonte Panda
O zip fonte Panda contêm Python.
- Primeiro, você precisará setar suas váriaveis para o MSVC, dentro do Cygwin. O que você pode fazer é personalizar o seguinte arquivo para você mesmo, e salvá-lo em /usr/local/panda/bin/setvars:
PATH=$PATH:"/cygdrive/f/Program Files/Microsoft Visual C++ Toolkit 2003/bin" PATH=$PATH:/usr/local/panda/bin PATH=$PATH:/usr/local/panda/lib PATH=$PATH:/cygdrive/f/dev/panda3d-1.0.2-cyg/thirdparty/win-python
export CL=" /I\"F:\Program Files\Microsoft Visual C++ Toolkit 2003\include\" " export CL="$CL /I\"F:\Program Files\Microsoft Visual C++ Toolkit 2003\include\" " export CL="$CL /I\"F:\program Files\Microsoft SDK\include\" " export CL="$CL /I\"F:\Program Files\Microsoft DirectX 9.0 SDK\include\" " export CL="$CL /I\"F:\dev\panda3d-1.0.2-cyg\thirdparty\win-python\include\" "
export LINK=" /LIBPATH:\"F:\Program Files\Microsoft Visual C++ Toolkit 2003\lib\" " export LINK="$LINK /LIBPATH:\"F:\Program Files\Microsoft Visual C++ Toolkit 2003\lib\" " export LINK="$LINK /LIBPATH:\"F:\Program Files\Microsoft SDK\lib\" " export LINK="$LINK /LIBPATH:\"F:\Program Files\Microsoft DirectX 9.0 SDK\lib\" " export LINK="$LINK /LIBPATH:\"F:\dev\panda3d-1.0.2-cyg\thirdparty\win-python\libs\" "
export PANDA_ROOT='F:\Cygwin'
export PYTHONPATH="f:\dev\panda3d-1.0.2-cyg\thirdparty\win-python;f:\cygwin\usr\local\panda\lib"
- então rode esse arquivo dentro do Cygwin
. /usr/local/panda/bin/setvars
(note que existe um . no começo, e um espaço entre o . e o resto do comando)
- você também precisará renomear /usr/bin/link to /usr/bin/_link , para fazer o cygwin achar o link msvc , e não o link gcc
- Abra cgywin/usr/local/panda/Config.pp (crie o arquivo, se você não o tiver feito), e adicione as seguintes linhas:
#define HAVE_DX
- A linha HAVE_DX significa que você não usa DirectX (sic), o que é muito bom, a não ser que voce tenha um SDK antigo do DirectX 8 SDK por aí (A atual versão da microsoft.com é 9)
- Note que linkar dinamicamente é o padrão; e essa configuração compila melhor.
- A Visual C++ Toolkit não contêm lib, apenas link,que pode fazer as mesmas coisas, então abra-o, localize o diretorio fonte do panda, dtool/pptempl/compilerSettings.pp, e substitua:
#define LIBBER lib
com
#define LIBBER link /lib
- Agora, você está pronto para rodar ppremake, make e afins no dtool, enão panda, como instruído.
(Essas notas foram pegas de: [1]).