Microsoft KB Archive/142788

= PRB: Can't Add Libs to Projects Created with Custom AppWizards =

Q142788

-

The information in this article applies to:


 * The Custom AppWizard
 * *EDITOR Please do not choose this product*Microsoft Visual C++ 32-bit Edition* use 241, 265, 225, version 4.0

-

SYMPTOMS
Currently there is no support for manipulating project settings with a Custom AppWizard. Default settings are automatically used based on the type of application that the Custom AppWizard is based on, such as a console application, or an MFC application.

When constructing a Custom AppWizard that creates projects requiring additional libraries, it is necessary to add these libraries to your base project's link options. The problem is that creating a Custom AppWizard based on this base project, will not carry these custom link options over to the Custom AppWizard or the projects that this Custom AppWizard will generate.

Beginning with Visual C++, verion 5.0, you can customize project settings, including adding libraries. For more information please see the following article in the Microsoft Knowledge Base:

"Q173483 HOWTO: Create Custom AppWizards that Generate Non-MFC Projects"

RESOLUTION
To work around this limitation, you can add a pragma to one of the base project's header files to automatically link the project with a specific library. The pragma takes the following form:

  #pragma comment(lib, libname) This places a library-search record in the object file. The libname parameter is the filename (and optionally the path) of the library you want the linker to search. Because the library name precedes the default library- search records in the object file, the linker searches for this library just as if you had named it on the command line. You can place multiple library-search records in the same source file; each record appears in the object file in the same order in which it is encountered in the source file.

This technique is identical to the technique used by MFC to link different types of MFC applications to the proper MFC libraries.

STATUS
This behavior is by design.