vc++ compile log 
Author Message
 vc++ compile log

question 1:

When I compile my C program with without MFC support.  In the build
log file (test.plg).  It shows
... etc ...
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes
/pdb:"Debug/test.pdb" /debug /machine:I386 /out:"Debug/test.exe"
does all these library files are c / c++ library files?  I wonder
which library contains standard C library ( e.g stdio for example ).
Which library contains standard C++ library?
And in linking step, It shows:

Does VC++ use link.exe to link non-MFC library to form executable?  

question 2:

When I compile with MFC support.  In the build log file ( test.plg).
It shows:
... etc ...
/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE"
/D "_MBCS" /Fp"Debug/test.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ  /c

what are the above command means?  where it specific the libraries?
It looks like all of them are switch.
And in linking step. It shows:

Does VC++ use a different linker other than link.exe to link MFC
library to form executable?

thanks .

Sat, 21 Feb 2004 04:54:39 GMT  
 vc++ compile log

Answer1: All these library files are sytem library files. There are
different libraries linked based on the project setting for example debug
or release version.

Please take a look at the switchs in msdn.
"/MD, /ML, /MT, /LD   (Use Run-Time Library)"

The following table lists the release versions of the C run-time library
files, along with their associated compiler options and environment
variables. Prior to Visual C++ 4.2, the C run-time libraries contained the
iostream library functions. In Visual C++ 4.2 and later, the old iostream
library functions have been removed from LIBC.LIB, LIBCMT.LIB, and
MSVCRT.LIB. (This change was made because the Standard C++ library has been
added to Visual C++, and it contains a new set of iostream libraries. Thus,
two sets of iostream functions are now included in Visual C++.) The old
iostream functions now exist in their own libraries: LIBCI.LIB,
LIBCIMT.LIB, and MSVCIRT.LIB. The new iostream functions, as well as many
other new functions, exist in the Standard C++ libraries: LIBCP.LIB,

When you build a release version of your project, one of the basic C
run-time libraries (LIBC.LIB, LIBCMT.LIB, and MSVCRT.LIB) is linked by
default, depending on the compiler option you choose (single-threaded,
multithreaded, or DLL).

C Run-Time Library (without iostream)  Characteristics Option Defined
LIBC.LIB Single threaded, static link /ML  
LIBCMT.LIB Multithreaded, static link /MT _MT
MSVCRT.LIB Multithreaded, dynamic link (import library for MSVCRT.DLL) /MD

Answer2: There is only a link.exe to link the file. The CL.exe is a compile
application. To understand what the switches mean please take a look at
them in msdn.


Sun, 22 Feb 2004 16:44:28 GMT  
 [ 2 post ] 

 Relevant Pages 

1. vc++ compile log

2. vc++ compile log

3. vc++ compile log

4. vc++ compile log

5. VC 5.0 Compile Errors (compiles fine with 4.2)

6. Need help with compiling a message table for event log

7. log function does not compile, log10 does

8. need help compiling vc++6 project in vC++.Net

9. Did VC 6.0 compile differently from VC 4.0?

10. Can't compile VC 4.1 project in VC 4.2

11. Did VC 6.0 compile differently from VC 4.0?

12. Compiling VC 6 STL in VC 7 -- errors


Powered by phpBB® Forum Software