[ODE] Compiling ode with Opcode

Ed Jones ed.jones at oracle.com
Wed Feb 11 11:52:28 MST 2004


Oh, plus there's an *experimental* (i.e. don't flame me if there's 
anything wrong with it!) DevPak for Dev-C++ available from here;
http://www.green-eyed-monster.com/
If you don't want to bother compiling it yourself. Bear in mind though 
that that's only built from the 0.039 base code, plus the Opcode trimesh 
stuff, the Plane2D joint and the heighfield collider.

Cheers,
Ed.


Ed Jones wrote:

> Howdy,
>
> I managed to get ODE+Opcode to work with Dev-C++ (i.e. mingw), here 
> are some of the things I did that you might like to try.
> I may well miss some steps out, in which case let me know and I'll dig 
> about a bit more in the source to see if I can find anything else that 
> I changed;
>
> In the ODE user-settings file you need to set this, which I'm guessing 
> you've already done;
> PLATFORM=mingw
>
> In the Opcode/Makefile, on the "gcc -c -o ..." line change the -O3 to 
> -O0 (that's "minus oh zero") I dunno why you need to do disable the 
> compiler optimisations like this, there's been some discussions about 
> it on this list I think, my trimesh collisions didn't work correctly 
> without it.
>
> In IceFPU.h, at the top, just after the line "#define __ICEFPU_H__" put;
>  #ifdef WIN32
>  #undef WIN32
>  #endif
> Which just switches off the inline assembler stuff. Okay it's probably 
> gonna be slower, and there should probably be a way of converting the 
> inline assembler to work with mingw but I don't know what that would 
> be, and my hacky method seems to work anyway.
>
> Do "make all" from the Opcode directory
> Do "make all" in the ODE directory
>
> Hope that make sense.
> Cheers,
> Ed.
>
>
>
> Ursula Schmitz wrote:
>
>> Hello,
>> i want to compile ode and opcode with mingw.
>>
>> I've downloaded the newest version of ode.
>> I've edited the config file with following parameters:
>> PRECISION=SINGLE
>> BUILD=release
>> WINDOWS16=0
>> OPCODE_DIRECTORY=OPCODE
>>
>> Then i've started make with with following options:
>> "make configurations"
>> "make ode-lib"
>>
>> i get following error messages:
>> gcc -c -Wall -fno-exceptions -fno-rtti -DWIN32 -fomit-frame-pointer 
>> -ffast-math
>> -Iinclude -IOPCODE  -DdTRIMESH_ENABLED -DdNODEBUG -O2 -o 
>> ode/src/collision_trime
>> sh.o ode/src/collision_trimesh.cpp
>> In file included from ode/src/collision_trimesh_internal.h:41,
>>                 from ode/src/collision_trimesh.cpp:31:
>> OPCODE/Opcode.h:47: warning: ignoring #pragma message
>> In file included from OPCODE/OPC_IceHook.h:32,
>>                 from OPCODE/Opcode.h:72,
>>                 from ode/src/collision_trimesh_internal.h:41,
>>                 from ode/src/collision_trimesh.cpp:31:
>> OPCODE/Ice/IcePreprocessor.h:17: warning: ignoring #pragma message
>> OPCODE/Ice/IcePreprocessor.h:108: warning: ignoring #pragma inline_depth
>> In file included from OPCODE/OPC_IceHook.h:38,
>>                 from OPCODE/Opcode.h:72,
>>                 from ode/src/collision_trimesh_internal.h:41,
>>                 from ode/src/collision_trimesh.cpp:31:
>> OPCODE/Ice/IceFPU.h: In function `float FastSqrt(float)':
>> OPCODE/Ice/IceFPU.h:47: parse error before `{' token
>> OPCODE/Ice/IceFPU.h:45: warning: unused variable `float retval'
>> OPCODE/Ice/IceFPU.h:53: warning: no return statement in function 
>> returning
>>   non-void
>> OPCODE/Ice/IceFPU.h: In function `float FCMax2(float, float)':
>> OPCODE/Ice/IceFPU.h:230: `_asm' undeclared (first use this function)
>> OPCODE/Ice/IceFPU.h:230: (Each undeclared identifier is reported only 
>> once for
>>   each function it appears in.)
>> OPCODE/Ice/IceFPU.h:230: parse error before `[' token
>> OPCODE/Ice/IceFPU.h:229: warning: unused variable `float Res'
>> OPCODE/Ice/IceFPU.h:240: warning: no return statement in function 
>> returning
>>   non-void
>> OPCODE/Ice/IceFPU.h: In function `float FCMin2(float, float)':
>> OPCODE/Ice/IceFPU.h:247: `_asm' undeclared (first use this function)
>> OPCODE/Ice/IceFPU.h:247: parse error before `[' token
>> OPCODE/Ice/IceFPU.h:246: warning: unused variable `float Res'
>> OPCODE/Ice/IceFPU.h:257: warning: no return statement in function 
>> returning
>>   non-void
>> OPCODE/Ice/IceFPU.h: In function `float FCMax3(float, float, float)':
>> OPCODE/Ice/IceFPU.h:264: `_asm' undeclared (first use this function)
>> OPCODE/Ice/IceFPU.h:264: parse error before `[' token
>> OPCODE/Ice/IceFPU.h:263: warning: unused variable `float Res'
>> OPCODE/Ice/IceFPU.h:277: warning: no return statement in function 
>> returning
>>   non-void
>> OPCODE/Ice/IceFPU.h: In function `float FCMin3(float, float, float)':
>> OPCODE/Ice/IceFPU.h:284: `_asm' undeclared (first use this function)
>> OPCODE/Ice/IceFPU.h:284: parse error before `[' token
>> OPCODE/Ice/IceFPU.h:283: warning: unused variable `float Res'
>> OPCODE/Ice/IceFPU.h:297: warning: no return statement in function 
>> returning
>>   non-void
>> In file included from OPCODE/OPC_IceHook.h:39,
>>                 from OPCODE/Opcode.h:72,
>>                 from ode/src/collision_trimesh_internal.h:41,
>>                 from ode/src/collision_trimesh.cpp:31:
>> OPCODE/Ice/IceMemoryMacros.h: In function `void StoreDwords(udword*, 
>> unsigned
>>   int, unsigned int)':
>> OPCODE/Ice/IceMemoryMacros.h:58: `_asm' undeclared (first use this 
>> function)
>> OPCODE/Ice/IceMemoryMacros.h:58: parse error before `eax'
>> In file included from OPCODE/OPC_IceHook.h:56,
>>                 from OPCODE/Opcode.h:72,
>>                 from ode/src/collision_trimesh_internal.h:41,
>>                 from ode/src/collision_trimesh.cpp:31:
>> OPCODE/Ice/IceHPoint.h: At global scope:
>> OPCODE/Ice/IceHPoint.h:151: warning: conversion to a base class will 
>> never use
>>   a type conversion operator
>> In file included from OPCODE/OPC_IceHook.h:61,
>>                 from OPCODE/Opcode.h:72,
>>                 from ode/src/collision_trimesh_internal.h:41,
>>                 from ode/src/collision_trimesh.cpp:31:
>> OPCODE/Ice/IceIndexedTriangle.h:17: use of enum `CubeIndex' without 
>> previous
>>   declaration
>> make: *** [ode/src/collision_trimesh.o] Error 1
>>
>>
>> Without the Opcode Option all works fine.
>> Can anybody help me ?
>> ______________________________________________________________________________
>> Nachrichten, Musik und Spiele schnell und einfach per Quickstart im 
>> WEB.DE Screensaver - Gratis downloaden: 
>> http://screensaver.web.de/?mc=021110
>>
>> _______________________________________________
>> ODE mailing list
>> ODE at q12.org
>> http://q12.org/mailman/listinfo/ode
>>  
>>
>
> _______________________________________________
> ODE mailing list
> ODE at q12.org
> http://q12.org/mailman/listinfo/ode




More information about the ODE mailing list