Article ID: 139457
Article Last Modified on 12/8/2003
APPLIES TO
- Microsoft Visual C++ 2.0 Professional Edition
- Microsoft Visual C++ 2.1
- Microsoft Visual C++ 2.2
- Microsoft Visual C++ 4.0 Standard Edition
- Microsoft OLE Control Developer's Kit (CDK)
This article was previously published under Q139457
SYMPTOMS
When you use the following procedure to convert a project built with the CDK that shipped with Visual C++ 2.x to Visual C++ 4.0, the following error appears:
Conversion Procedure
- On the File menu, click Open Workspace.
- Browse to the project directory.
- List files of type *.mak.
- Select the 32-bit project file.
- Click Rebuild All. After it tries to link, the following error message will appear:
CAUSE
The reason that the specified file cannot be found is that it no longer exists in Visual C++ version 4.0. Because the Ocs30* libraries were variants of the MFC libraries, the functionality was merged with the Mfc40*.dll. This had several advantages, including better code reuse as one MFC .dll file can be used for both the OLE Control container and the OLE control. The problem is that the ocs30*.lib file is included within the Settings, Link page thereby giving the error Ocs30*.lib cannot be found.
RESOLUTION
Change the settings so that Visual C++ version 4.0 is no longer trying to link in the Ocs30*.lib file. This can be done by following these steps:
- On the Build menu, click Settings, and then click the Link tab.
- Click the first of the four project build options under Settings For.
- Delete Ocs30d.lib from the edit field under Object/Library Modules.
- Click each of the other three project build options and repeat step 3.
Now when you build your project it will use the Mfc40*.dll as designed.
STATUS
This behavior is by design.
MORE INFORMATION
Sample Code
/* Compile options needed: */
Try one of the Circ samples that ship with the 2.x CDK.
Additional query words: visualc ocx ole control ocs30d ocs30 lib dll
Keywords: kbnoupdate kbctrlcreate kbprb KB139457