?
Solved

VC++ 6.0 builds release, but not debug

Posted on 1999-01-28
6
Medium Priority
?
253 Views
Last Modified: 2010-04-02
Using VC++ 6.0, my release version builds without any trouble, but the debug version gives me 3 LNK2001 errors. After having read sveral articles in the help online, I'm no closer to understanding why. The help states that the reverse seems te be more frequent..that is, having a working debug version and the release version won't build. Can anyone shed some light on this for me? Thanks!
0
Comment
Question by:pigeonbr
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
6 Comments
 
LVL 22

Expert Comment

by:nietod
ID: 1185442
It would be helpful to know what the errors are--what symbols does it complain about?
0
 
LVL 2

Accepted Solution

by:
amitc011599 earned 300 total points
ID: 1185443
Since not all libraries are installed by default, especially the CRT and MFC libraries, so do one of these things,
1. Ensure that your "Library files" directories list (Access through Tools-> Options-Directories also includes the directories on the CD\Remote computer where you installed VC from and the directory is accessible

2. That you have the following libs in the lib directory, MSVCRTD.LIB, LIBCD.LIB and LIBCMTD.LIB

Is this does not work, try posting the exact errors, just do a copy and paste from the output window.
0
 

Author Comment

by:pigeonbr
ID: 1185444
Hi! When building, the compiler complains as follows:

--------------------Configuration: Pieces3CLR - Win32 Debug--------------------
Linking...
Pieces3CLRView.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CPieces3CLRView::Dump(class CDumpContext &)const " (?Dump@CPieces3CLRView@@UBEXAAVCDumpContext@@@Z)
Pieces3CLRView.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CPieces3CLRView::AssertValid(void)const " (?AssertValid@CPieces3CLRView@@UBEXXZ)
Pieces3CLRView.obj : error LNK2001: unresolved external symbol "public: class CPieces3CLRDoc * __thiscall CPieces3CLRView::GetDocument(void)" (?GetDocument@CPieces3CLRView@@QAEPAVCPieces3CLRDoc@@XZ)
\Debug/Pieces3CLR.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.

Pieces3CLR.exe - 4 error(s), 0 warning(s)


In the release version, no trouble. I await your interpretation. Thanks for responding!
Bruce
(pigeonbr)

0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 22

Expert Comment

by:nietod
ID: 1185445
Are these functions defined in CPieces2CLRVuew.cpp?  Are then in closed conditional code (#if), so they might not be included in a release version?  
0
 
LVL 2

Expert Comment

by:amitc011599
ID: 1185446
What is going wrong is that your prgram is not finding the debug MFC libraries. This is typically MFCxxD.lib or MFCxxUD.lib, where xx is the MFC version, 60 in your case.

You will need to copy these files or do a reinstall of VC 6.0 and select all the MFC library options.
0
 

Author Comment

by:pigeonbr
ID: 1185447
amitc:
 I verified  that MSVCRTD.LIB, LIBCD.LIB and LIBCMTD.LIB were all installed and that in the Tools->Options->Directories menu that all files and paths were ok. All seeme to point to the right directories.I tried to re-install VC 6.0 the same way I had, that is , by selecting all the options, so as not to miss anything, but with the same result. The program I was working on was started in VC 4.0 and when I got VC 6.0, I imported it, seemingly with success, but the debug doesnt want to work, and I had no problems with eithere release or debug in  VC 4.0. I still have 4.0 on my pc, but I don't believe this is affecting anything. If you have any more ideas, let me know. I will attempt to get some help from Microsoft this week comeing thru their telephone support, but don't bargain on much FREE help from them..hahaha....thanks...I await your return
pigeonbr
Quebec Canada

0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

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

In days of old, returning something by value from a function in C++ was necessarily avoided because it would, invariably, involve one or even two copies of the object being created and potentially costly calls to a copy-constructor and destructor. A…
  Included as part of the C++ Standard Template Library (STL) is a collection of generic containers. Each of these containers serves a different purpose and has different pros and cons. It is often difficult to decide which container to use and …
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 be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.
Suggested Courses

770 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