When you try to use Microsoft Visual Studio 2005 to build a Microsoft Visual C++ native class library project, you may receive an error message that resembles the following:
LNK1104: cannot open file ‘FileName’
In this error message, FileName
represents the name of a DLL that could not be linked correctly.
This problem occurs when you use the #import
directive in the project to reference a mixed-mode DLL.
This problem occurs because the Visual C++ build system cannot link to a library when a dependent DLL of that library is a managed DLL that has no native exports. The mixed-mode DLL contains both managed exports and native exports. However, the build system does not detect the native exports.
To work around this problem, follow these steps:
- In Visual Studio 2005, click the name of the project in Solution Explorer, and then click Properties on the Project menu.
- In the Property Pages dialog box, expand Configuration Properties, expand Linker, and then click General.
- Select No under Link Library Dependancies, and then click OK.
Note When you set Link Library Dependancies to No, libraries that you reference by using the #import directive are not linked during the build process.
- Manually add a reference for each library that is required for the project. To do this, follow these steps for each library:
- On the Project menu, click References.
- In the Property Pages dialog box, click Add New Reference.
- Click the name of the library that you want to add, and then click OK.
- On the Build menu, click Build Solution.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
Article ID: 937466 - Last Review: July 6, 2007 - Revision: 1.0
- Microsoft Visual Studio 2005 Express Edition
- Microsoft Visual Studio 2005 Professional Edition
- Microsoft Visual Studio 2005 Standard Edition
- Microsoft Visual Studio 2005 Team Edition for Database Professionals
- Microsoft Visual Studio 2005 Team Edition for Software Architects
- Microsoft Visual Studio 2005 Team Edition for Software Developers
- Microsoft Visual Studio 2005 Team Edition for Software Testers
- Microsoft Visual Studio 2005 Team Suite
- Microsoft Visual Studio 2005 Team Foundation
- Microsoft Visual Studio 2005 Team System Test Edition
|kbtshoot kbexpertiseinter kbexpertisebeginner kberrmsg kbbug kbprb KB937466|