[ODE] test_trilist link errors

Ken MacLeod kjmac at freenet.co.uk
Tue Dec 3 14:22:02 2002


This is a multi-part message in MIME format.

------=_NextPart_000_0005_01C29B11.E46F6490
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

Hi,
I've been unable to get the tri-collider test (test_trilist.cpp) to
compile correctly. I've been able to compile the CVS versions of ODE and
the tri-collider as static libraries no problem. I've also been able to
compile OPCODE v1.0 fine. 
 
Both the tri-collider library and test application are being compiled
with ODE_OLD_COLLISION set. When compiling the test application
(test_trilist.cpp) Visual C++ 6 generates the following output.
 
Linking...
LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other
libs; use /NODEFAULTLIB:library
TriCollider.lib(dTriList.obj) : error LNK2001: unresolved external
symbol _dSphereClass
TriCollider.lib(dTriList.obj) : error LNK2001: unresolved external
symbol _dBoxClass
TriCollider.lib(dTriList.obj) : error LNK2001: unresolved external
symbol "int __cdecl dCollideBP(struct dxGeom const *,struct dxGeom const
*,int,struct dContactGeom *,int)"
(?dCollideBP@@YAHPBUdxGeom@@0HPAUdContactGeom@@H@Z)
Debug/Buggy Original Web.exe : fatal error LNK1120: 3 unresolved
externals
Error executing link.exe.
 
All of the unresolved symbols seem to be defined okay in ODE's geom.cpp
and geom.h. I've had no problems using ODE with any other applications.
It's just the tri-collider test that causes problems. I've tried
commenting out blocks of code in test_trilist.cpp. So long as you make
no reference to any function in test_trilist everything compiles (but
obviously the test app is rendered pointless!).
 
Any thoughts greatly appreciated,
 
- Ken

------=_NextPart_000_0005_01C29B11.E46F6490
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">


<meta name=3DProgId content=3DWord.Document>
<meta name=3DGenerator content=3D"Microsoft Word 10">
<meta name=3DOriginator content=3D"Microsoft Word 10">
<link rel=3DFile-List href=3D"cid:filelist.xml@01C29B11.E33006C0">
<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:DoNotRelyOnCSS/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:DocumentKind>DocumentEmail</w:DocumentKind>
  <w:EnvelopeVis/>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]-->
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0cm;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	mso-ansi-language:EN-GB;}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;
	text-underline:single;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	mso-style-noshow:yes;
	mso-ansi-font-size:10.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:Arial;
	mso-ascii-font-family:Arial;
	mso-hansi-font-family:Arial;
	mso-bidi-font-family:Arial;
	color:windowtext;}
span.SpellE
	{mso-style-name:"";
	mso-spl-e:yes;}
span.GramE
	{mso-style-name:"";
	mso-gram-e:yes;}
@page Section1
	{size:612.0pt 792.0pt;
	margin:72.0pt 90.0pt 72.0pt 90.0pt;
	mso-header-margin:35.4pt;
	mso-footer-margin:35.4pt;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */=20
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";}
</style>
<![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple =
style=3D'tab-interval:36.0pt'>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>Hi,<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>I&#8217;ve been unable to get the tri-<span
class=3DSpellE>collider</span> test (<span =
class=3DSpellE>test_trilist.cpp</span>)
to compile correctly. I&#8217;ve been able to compile the CVS versions =
of ODE
and the tri-<span class=3DSpellE>collider</span> as static libraries no =
problem. I&#8217;ve
also been able to compile OPCODE v1.0 fine. =
<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>Both the tri-<span =
class=3DSpellE>collider</span>
library and test application are being compiled with ODE_OLD_COLLISION =
set.
When compiling the test application (<span =
class=3DSpellE>test_trilist.cpp</span>)
Visual C++ 6 generates the following =
output.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>Linking...<o:p></o:p></span></font></p>

<p class=3DMsoNormal><span class=3DGramE><font size=3D2 =
face=3DArial><span lang=3DEN-GB
style=3D'font-size:10.0pt;font-family:Arial'>LINK =
:</span></font></span><font
size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Arial'>
warning LNK4098: <span class=3DSpellE>defaultlib</span> &quot;LIBC&quot;
conflicts with use of other <span class=3DSpellE>libs</span>; use /<span
class=3DSpellE>NODEFAULTLIB:library</span><o:p></o:p></span></font></p>

<p class=3DMsoNormal><span class=3DSpellE><span class=3DGramE><font =
size=3D2
face=3DArial><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Arial'>TriCollider.lib</span></font=
></span></span><span
class=3DGramE><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:10.0pt;
font-family:Arial'>(</span></font></span><span class=3DSpellE><font =
size=3D2
face=3DArial><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Arial'>dTriList.obj</span></font></=
span><font
size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Arial'>)
: error LNK2001: unresolved external symbol _<span =
class=3DSpellE>dSphereClass</span><o:p></o:p></span></font></p>

<p class=3DMsoNormal><span class=3DSpellE><span class=3DGramE><font =
size=3D2
face=3DArial><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Arial'>TriCollider.lib</span></font=
></span></span><span
class=3DGramE><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:10.0pt;
font-family:Arial'>(</span></font></span><span class=3DSpellE><font =
size=3D2
face=3DArial><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Arial'>dTriList.obj</span></font></=
span><font
size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Arial'>)
: error LNK2001: unresolved external symbol _<span =
class=3DSpellE>dBoxClass</span><o:p></o:p></span></font></p>

<p class=3DMsoNormal><span class=3DSpellE><span class=3DGramE><font =
size=3D2
face=3DArial><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Arial'>TriCollider.lib</span></font=
></span></span><span
class=3DGramE><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:10.0pt;
font-family:Arial'>(</span></font></span><span class=3DSpellE><font =
size=3D2
face=3DArial><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Arial'>dTriList.obj</span></font></=
span><font
size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Arial'>)
: error LNK2001: unresolved external symbol &quot;<span =
class=3DSpellE>int</span>
__<span class=3DSpellE>cdecl</span> <span =
class=3DSpellE>dCollideBP</span>(<span
class=3DSpellE>struct</span> <span class=3DSpellE>dxGeom</span> const =
*,<span
class=3DSpellE>struct</span> <span class=3DSpellE>dxGeom</span> const =
*,<span
class=3DSpellE>int,struct</span> <span =
class=3DSpellE>dContactGeom</span> *,<span
class=3DSpellE>int</span>)&quot;
(?dCollideBP@@YAHPBUdxGeom@@0HPAUdContactGeom@@H@Z)<o:p></o:p></span></fo=
nt></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>Debug/Buggy Original <span =
class=3DGramE>Web.exe :</span>
fatal error LNK1120: 3 unresolved externals<o:p></o:p></span></font></p>

<p class=3DMsoNormal><span class=3DGramE><font size=3D2 =
face=3DArial><span lang=3DEN-GB
style=3D'font-size:10.0pt;font-family:Arial'>Error executing =
link.exe.</span></font></span><font
size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Arial'><o:p></o:p></span></font></p=
>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>All of the unresolved symbols seem to be =
defined okay
in <span class=3DSpellE>ODE&#8217;s</span> <span =
class=3DSpellE>geom.cpp</span> and
<span class=3DSpellE>geom.h</span>. I&#8217;ve had no problems using ODE =
with any
other applications. It&#8217;s just the tri-<span =
class=3DSpellE>collider</span>
test that causes problems. I&#8217;ve tried commenting out blocks of =
code in <span
class=3DSpellE>test_trilist.cpp</span>. So long as you make no reference =
to any
function in <span class=3DSpellE>test_trilist</span> everything compiles =
(but
obviously the test app is rendered =
pointless!).<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>Any thoughts greatly =
appreciated,<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>- Ken<o:p></o:p></span></font></p>

</div>

</body>

</html>

------=_NextPart_000_0005_01C29B11.E46F6490--