Awkward Win32 build procedure (was RE: [ODE] Trimesh collision)

Jon Watte hplus-ode at mindcontrol.org
Wed Jan 14 11:03:22 MST 2004


The only problem I had was a difference in how quotes are handled. Defining a "CC" and a "CC2" with additional quoting, and using the right version in the right place, fixed it for me.

Cheers,

			/ h+

-----Original Message-----
From: ode-bounces at q12.org [mailto:ode-bounces at q12.org]On Behalf Of John
Miles
Sent: Wednesday, January 14, 2004 10:41 AM
To: ode at q12.org
Subject: Awkward Win32 build procedure (was RE: [ODE] Trimesh collision)



> P.S. BTW compling the ODE library as a dll was quite a drag. My teammate
> Zahid compiled it by changing/adding many config settings and parameters

Agreed.  The supplied makefile.msvc-dll doesn't even come close to working
as-is with MSVC6.  Here's my edit, if it'll save anyone else the trouble:

--------------------
 WINDOWS=1
THIS_DIR=
DEL_CMD=tools\rm
CC=cl /nologo /DWIN32 /DMSVC /DSHAREDLIBIMPORT=__declspec(dllimport)
/DSHAREDLIBEXPORT=__declspec(dllexport)
OBJ=.obj
C_FLAGS=/c /GR- /GX- /W3 /GF
C_INC=/I
C_OUT=/Fo
C_EXEOUT=/Fe
C_DEF=/D
C_OPT=/O
AR=lib /debugtype:cv /nologo /OUT:
RANLIB=
LIB_PREFIX=
LIB_SUFFIX=.lib
LINK_OPENGL=Comctl32.lib kernel32.lib user32.lib gdi32.lib OpenGL32.lib
Glu32.lib
LINK_MATH=
RC_RULE=rc /r /fo$@ $<

ifeq ($(BUILD),release)
OPT=2
C_FLAGS+=/Oy
endif

ifeq ($(BUILD),debug)
OPT=d
C_FLAGS+=/Z7
endif

ODE_LIB_AR_RULE=link /dll /debug:full /debugtype:cv /map /PDB:NONE
/INCREMENTAL:NO /nologo /SUBSYSTEM:WINDOWS /def:config/msvcdefs.def
$(LINK_OPENGL) /OUT:$(patsubst %.lib,%.dll,$@)
---------------------

I also found it necessary to remove dBodyGetAutoDisableSF1,
dBodyGetAutoDisableStepsSF1, and dBodyGetAutoDisableThresholdSF1 from
msvcdefs.def.  These functions aren't implemented anywhere in the ODE 0.039
release, and the DLL won't link unless you remove their export entries from
the .def file.  Where are these functions supposed to come from?

I'll probably create a new MSVC nmake file from scratch one of these days,
to make life easier for GNU Make-illiterates such as myself.  Will add it to
the Wiki when/if it happens.  I'm not complaining, though -- writing a
makefile is a lot easier than writing a dynamics engine. :)

-- jm

_______________________________________________
ODE mailing list
ODE at q12.org
http://q12.org/mailman/listinfo/ode




More information about the ODE mailing list