Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Programming Talk / C++ / C# - 2005 - Symbol Issue

Author
Message
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 14th Oct 2005 06:43


This is a simplified version of the problem.
Now when I compile that I'll get.

Example.obj : error LNK2019: unresolved external symbol ___CxxFrameHandler3 referenced in function __ehhandler$?Start@@YAXXZ

Not a bloody clue what that means though.

Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 14th Oct 2005 07:17
Alright discovered that wasn't the problem..



The issue is with ODE and my setup. God knows why this is happening when I'm using a class as opposed to not, but whatever. Default wise it need libc (which causes duplicate function errors with msvcrtd) .. to get around that i ingore default names but that causes this error.

IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 14th Oct 2005 14:55
I believe that the frame handler is used with exception handling ...

This may be caused because you have compiled your ode.lib in a different mode to your current project.

For free Plug-ins and source code http://www.matrix1.demon.co.uk
Darkbasic MADPSP
19
Years of Service
User Offline
Joined: 15th Jun 2005
Location: Uk
Posted: 14th Oct 2005 18:14
IanM how much c++ do you know? i need some help with 2005 beta2 if you want can you contact me on msn i'll add you to my contacts in a min hope you don't mind

Platformer soon to be wip you'll like it
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 14th Oct 2005 18:51
It happens in both Release and Debug mode, unless your talking about the threading. As I can't seem to change the compiler to Single-Threading.

I've tried re-compiling ODE, but I can only compile Opcode that has a link error but other-wise fine... ODE itself throws up more errors the more errors I correct. : sighs :

If anyone has a compatible Multi=Threading Debug/Release .lib of ODE that's compatible with 2005.
The issue I'm getting right now is:

ode.lib(error.obj) : error LNK2019: unresolved external symbol __iob referenced in function "void __cdecl printMessage(int,char const *,char const *,char *)" (?printMessage@@YAXHPBD0PAD@Z)

although if I fix that, god knows how many more will appear. I know full well this is purely a console based debug think; but I have no way of disabling it.

Darkbasic MADPSP
19
Years of Service
User Offline
Joined: 15th Jun 2005
Location: Uk
Posted: 14th Oct 2005 19:07
Raven do you have msn messenger?

Platformer soon to be wip you'll like it
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 14th Oct 2005 19:09
Yes, but I doubt you can help me with my problem... unless you have the compiled ODE library versions. In which case simply attach them to your post in a zip.

Darkbasic MADPSP
19
Years of Service
User Offline
Joined: 15th Jun 2005
Location: Uk
Posted: 14th Oct 2005 19:11
i needed help as well because i've literally just got it yesterday and don't have a clue where to start

Platformer soon to be wip you'll like it
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 14th Oct 2005 19:34


then you just add a reference to Microsoft.Windows .NET Library
I wish that DBP was .NET Compatile, but ho hum

Darkbasic MADPSP
19
Years of Service
User Offline
Joined: 15th Jun 2005
Location: Uk
Posted: 14th Oct 2005 20:27
isn't that the standard setup code?

Platformer soon to be wip you'll like it
IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 14th Oct 2005 20:37
@Raven,
Can't you just download one of the binary packages? They are all multithreaded builds AFAIK

http://sourceforge.net/project/showfiles.php?group_id=24884&package_id=117385

If not, then I'm willing to have a quick attempt at compiling what you need.

@DBM,
I'm not the best person to learn from - I don't have the patience to teach (as some of the guys at work will tell you ). The best place for you to start, is with the tutorials in the frequently asked questions post at the top of this forum. Once you have the basics, then I'll be happy to help you out, just like I do with others who post here.

For free Plug-ins and source code http://www.matrix1.demon.co.uk
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 14th Oct 2005 21:32
Still no joy with any of those.
Mike can build it without problems in 2003, but I can't.
Probably because there are a number of depricated functions now which the library depands on.

(atleast that's what the library itself says when I try to compile it)

If you want I can upload the project and you can take a quick butchers, see if you can't see some solution I can't.

Quote: "isn't that the standard setup code?"


Nope, it's probably the smallest code I can think of making in C++ that'll compile in 2005

Darkbasic MADPSP
19
Years of Service
User Offline
Joined: 15th Jun 2005
Location: Uk
Posted: 14th Oct 2005 21:43
ok thanks ian and raven

Platformer soon to be wip you'll like it
x1b
20
Years of Service
User Offline
Joined: 19th Sep 2004
Location:
Posted: 14th Oct 2005 22:22 Edited at: 14th Oct 2005 22:29
There is no "standard code" per say. I beleive what you are refering to is:



optionally:



This is a stab in the dark but im guessing when forgot to call the standard Input/Output #include <iostream> and when you tried using "namespace Microsoft.Windows;" you intended to call "using namespace std;" and you really didnt need to (void) as you never ment to use functions anyway. So () would suffice. Looking at your "Console::WriteLine(L"Hello World");
Console::ReadLine();" i'm guessing you wanted to #include <iostream> as previousley suggested.

- Do it, Do it Right, Do it right now..
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 14th Oct 2005 22:36 Edited at: 14th Oct 2005 22:39
Hey Ian do you know what's replaced
copysign,
_copysign,
_snprintf,
_vsnprintf ?

I know that the new PDK has deprecated them, and I'm pretty sure they're my main issue; but there's no comment on what's replaced them.

Quote: "This is a stab in the dark but im guessing when forgot to call the standard Input/Output #include <iostream> and when you tried using "namespace Microsoft.Windows;" you intended to call "using namespace std;" and you really didnt need to (void) as you never ment to use functions anyway. So () would suffice. Looking at your "Console::WriteLine(L"Hello World");
Console::ReadLine();" i'm guessing you wanted to #include <iostream> as previousley suggested."


no I know what I wrote, but feel free to remain in stone-age C++

x1b
20
Years of Service
User Offline
Joined: 19th Sep 2004
Location:
Posted: 14th Oct 2005 22:54 Edited at: 14th Oct 2005 23:02
you trying for managed ?



- Do it, Do it Right, Do it right now..
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 14th Oct 2005 23:06
Quote: "No,you dont.

+ Code Snippet
#using <mscorlib.dll>
using namespace System;
void main() {
Console::WriteLine(L"Hello World using Managed Extensions!");
}



Feel free to remain with out direction."


uh huh... you don't need #using <mscorlib.lib> you can simply add the reference in the project file (something 2005 will generally do automatically when your running a CLR project)

int Main ( void ) or int Main ( eventargs e )

You don't have to call anything back to use that, as VC++ uses it for throwing back errors.

must be one of the two, as this is who CLR recognised the entry point in VC++, this is a limitation of VC++; although you can set another entry point outside of the executable build. Why this is the case you'll have to take that up with Microsoft's C++ team.

also the System namespace is valid again without reference.
The reason I reference Microsoft::Windows, is because without that your project while will build, won't run on Vista. Only 2000/XP.

x1b
20
Years of Service
User Offline
Joined: 19th Sep 2004
Location:
Posted: 15th Oct 2005 00:21
Odd,I was addressing two forums at once, and was sure I sent the right comment and code to each forum but appears not. I got the intended code here but wrong comment, and the intended code there and the wrong comment.


Quote: "
you trying for managed ?


"


Was intended for you.

- Do it, Do it Right, Do it right now..
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 15th Oct 2005 00:26
Look, I REALLY dont' care about my example to the guy who "want's to learn C++ 2005"... if you want to argue about how to create it then make another damn topic.

I'm loosing a little more than an ounce of patience here because I have been trying to compile this code for almost 3 days; as soon as I fix one error another one crops up.

So UNLESS you are going to provide me with help on just how the hell to get ODE working friendly with Visual C++ 2005... GO AWAY!
Don't care if I'm suppose to be friendly, but quite frankly your begining to irritate me. Go hijack someone else's post!

x1b
20
Years of Service
User Offline
Joined: 19th Sep 2004
Location:
Posted: 15th Oct 2005 01:01
Wow man.. wanna hug?

- Do it, Do it Right, Do it right now..
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 15th Oct 2005 01:14
Unless your cute and have breasts... I'd prefer a solution to my problem more.

IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 15th Oct 2005 02:23
snprintf and vsnprintf were all superceeded by MS's safer alternatives - StringCbPrintf and StringCbVPrintf (and the rest of the SafeStr library).

I'd never heard of copysign until you pointed it out - I know it's probably slower, but you could use something like this:



Alternatively, if you want, you can just copy the high bit from y into x directly using bit manipulation in C:



I'm kinda ashamed of that though - bit manipulation of floating-point values is a definite no-no


If I can get 2005beta working without screwing up my version of 2003 I'll have a go at building ODE - It might not be until Sunday though.

For free Plug-ins and source code http://www.matrix1.demon.co.uk
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 15th Oct 2005 03:03
2005 Beta itself shouldn't mess anything up installing it.
Pretty self-contained for the most part.

Swapped out the functions, I still get the same error; but trying to compile the language now causes no unresolved linking errors.

Unfortunately there's a butt-load of errors and warnings caused by the <strsafe.h> itself.

IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 16th Oct 2005 23:23
I didn't get around to installing 2005 beta today - do you still need this or have you made progress?

For free Plug-ins and source code http://www.matrix1.demon.co.uk
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 17th Oct 2005 01:12
not really touched this since I last posted.
most of the weekend I've been catching up on sleep...
when your awake nearly 20 hours a day it finally takes it's toll.

probably get back to this in a few hours once I've finished with my milkshape plug-in.

if you could tinker with 2005 and see if you can't unearth the issue in the mean time that would be awesome.

Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 17th Oct 2005 15:44
1 step forward... 10 steps back. : sighs :

------ Build started: Project: ODE, Configuration: Release Win32 ------
Linking...
Creating library Release\ODE.Release.lib and object Release\ODE.Release.exp
ode.lib(ode.obj) : error LNK2019: unresolved external symbol "void __cdecl dxProcessIslands(struct dxWorld *,float,void (__cdecl*)(struct dxWorld *,struct dxBody * const *,int,struct dxJoint * const *,int,float))" (?dxProcessIslands@@YAXPAUdxWorld@@MP6AX0PBQAUdxBody@@HPBQAUdxJoint@@HM@Z@Z) referenced in function _dWorldStep
ode.lib(ode.obj) : error LNK2019: unresolved external symbol "void __cdecl dxQuickStepper(struct dxWorld *,struct dxBody * const *,int,struct dxJoint * const *,int,float)" (?dxQuickStepper@@YAXPAUdxWorld@@PBQAUdxBody@@HPBQAUdxJoint@@HM@Z) referenced in function _dWorldQuickStep
ode.lib(step.obj) : error LNK2019: unresolved external symbol "void __cdecl dxStepBody(struct dxBody *,float)" (?dxStepBody@@YAXPAUdxBody@@M@Z) referenced in function "void __cdecl dInternalStepIsland_x1(struct dxWorld *,struct dxBody * const *,int,struct dxJoint * const *,int,float)" (?dInternalStepIsland_x1@@YAXPAUdxWorld@@PBQAUdxBody@@HPBQAUdxJoint@@HM@Z)
Release\ODE.Release.dll : fatal error LNK1120: 3 unresolved externals
Build Time 0:00
Build log was saved at "file://c:\Documents and Settings\Robert.LIANDRI-EK0CE7H\My Documents\Visual Studio 2005\Projects\Dark Basic Professional\ODE\Release\BuildLog.htm"
ODE - 4 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


I've attached the current source I'm using with both 2003 and 2005 project files. It probably compiles and runs fine on 2003, but it only compiles fine on 2005. When I try to use it... oh yes, MORE symbol errors.

Isn't this fun kids.

Attachments

Login to view attachments
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 17th Oct 2005 18:22
figure out a solution, or rather I stumbled across it.
I'll post up later tonight as I need help from someone to explain how the heck I did it.

IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 17th Oct 2005 22:45
That's good - I haven't started up 2005 beta for such a long time, I didn't realise that it had expired

For free Plug-ins and source code http://www.matrix1.demon.co.uk
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 17th Oct 2005 23:10
You can register it for free, if you do it before November 7th it will remain free rather than paying $50 for a license.

I've also discovered, the same code compiled under Windows 2003 gives me a bunch of link errors. Under Windows XP, it compiles exactly how it should.

So I've moved back to Windows XP for the time being. I'll have to make a note of this issue to MSDN so they can fix it before the end of the month.

Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 20th Oct 2005 07:00 Edited at: 20th Oct 2005 09:41
Hey guess what... managed to break it again.
I swear I should be like a professional beta tester for Microsoft, can kill anything without any effort.

Going to make a nice long long long comment on my MSDN Bug System, ask Microsoft what the feck is going on.

Just done a clean install.
Windows XP SP2 ISO
Visual C++ 2005 Beta 2 ISO
Platform SDK 2003 SP1 build 3790 ISO

And ya know what... no joy. So now I'm a little baffled to wtf is going on.

[edit] Was sent the VC 2005 RC1 ISO, not sure that's exactly the best solution but atleast i can compile a few of my previous projects so, s'pose it'll do.

Login to post a reply

Server time is: 2024-09-21 14:54:18
Your offset time is: 2024-09-21 14:54:18