Solved

Unable to build new VC5++ sample files!

Posted on 1999-01-14
9
432 Views
Last Modified: 2010-10-05
I am relatively new to VC5++ programming and so I thought I would start off with the sample files that came with the VC5++ cd's. However they refuse to work, the .c files compile OK and then hen I go to build I get the following:
error LNK2001: unresolved external symbol

About 44 in total, and I cannot understand why this happens. Can anyone enlighten me?
I am running WIn95 OSR2.1 with 64MB ram, PII266, and Visual Studio Professional. (SP3)
0
Comment
Question by:Bart van der Wee
  • 5
  • 3
9 Comments
 
LVL 4

Expert Comment

by:nil_dib
ID: 1182216
Check the following:
1. all the cpp files are included in your project
   (Workspace->FileView)?
2. you did not have method that is declared and not defined?
0
 
LVL 1

Expert Comment

by:Cov
ID: 1182217
Most probably, you have forgotten to include a library that need to be included.... do these examples need MFC? if so, make sure that in the project menu in settings, MFC is turned on...
Cov
0
 
LVL 4

Author Comment

by:Bart van der Wee
ID: 1182218
I added the MFC classes as suggested I now get over 200 Linke errors. All that I am wanting to do is compile and execute from the sample code. I would have thought this was ready to compile etc as it is without further mods.
0
 
LVL 1

Expert Comment

by:Cov
ID: 1182219
Hmmm... if you did not need mfc, take out mfc and tell me what the original link error was.  It is definitly an include library or header file.  Let me know the exact error and i will give you the solution:)
Cov
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 4

Author Comment

by:Bart van der Wee
ID: 1182220
OK set it back to not using MFC
here is the error listing:

--------------------Configuration: Oak - Win32 Debug--------------------
Compiling resources...
Compiling...
Arrow.c
Dialogs.c
Help.c
Profile.c
Rlmeter.c
Status.c
Toolbar.c
Vidcap.c
Vidframe.c
Linking...
Dialogs.obj : error LNK2001: unresolved external symbol __imp__mciSendStringA@16
Dialogs.obj : error LNK2001: unresolved external symbol __imp__mciSendCommandA@16
Vidcap.obj : error LNK2001: unresolved external symbol _capGetDriverDescriptionA@20
Vidcap.obj : error LNK2001: unresolved external symbol __imp__waveInOpen@24
Vidcap.obj : error LNK2001: unresolved external symbol _acmMetrics@12
Vidcap.obj : error LNK2001: unresolved external symbol _acmFormatChooseA@4
Vidframe.obj : error LNK2001: unresolved external symbol _capCreateCaptureWindowA@32
Debug/Oak.exe : fatal error LNK1120: 7 unresolved externals
Error executing link.exe.

Oak.exe - 8 error(s), 0 warning(s)


-Thank you for your patience :-)
0
 
LVL 1

Expert Comment

by:Cov
ID: 1182221
Hmmm..  I don't recognize them from a partiular file... I think you are missing a library... I think that if you add an include for mmsystem.h
and add the import library winmm.lib to your project settings:)
That should clear some of them up:)
CoV

0
 
LVL 1

Expert Comment

by:Cov
ID: 1182222
Ooops... that was my answer:)
0
 
LVL 4

Author Comment

by:Bart van der Wee
ID: 1182223
I added in winmm.lib vfw32.lib and acm32.lib.
What .lib files should I be using all the time? I have had these problems with several tutorials but they never mentioned these.

I am pretty new to all this and as I am teaching myself it is pretty slow going. Is there any reading material or similar you would recommend?
Sorry to reject but I have increased the points,just post another answer and you'll get them.
It is good to see new people helping out so quickly ;)
0
 
LVL 1

Accepted Solution

by:
Cov earned 150 total points
ID: 1182224
Back Again,

In general if you are getting a linking file, the reason is because a library is missing... and the ones you need depends on the file.  What I tend to do is if I see a linking error, I highlight the name of the function in the link error (minus the characters at the begging... the @ or _), and search for it in help.... usually you find a description of the funciton, along with the files you need to include to use it.

Another useful technique:  do a search on the particular error you are getting (ex: LNK2001) in the help file, and you will get a desciption of why the error is occurring.
Hope this helps!
Cov
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article is a continuation of the C/C++ Visual Studio Express debugger series. Part 1 provided a quick start guide in using the debugger. Part 2 focused on additional topics in breakpoints. As your assignments become a little more …
C++ Properties One feature missing from standard C++ that you will find in many other Object Oriented Programming languages is something called a Property (http://www.experts-exchange.com/Programming/Languages/CPP/A_3912-Object-Properties-in-C.ht…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

943 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now