1

我有一个包含两个项目的解决方案:myProject一个 DLL 和myProject_Tester一个用于调试 DLL 的 Win32 控制台应用程序。

当我构建解决方案时,我在错误列表中收到以下错误消息:

error LNK1104:
cannot open file 'U:\Software Development\c++ projects\myProject\Debug\myProject.lib'
U:\Software Development\c++ projects\myProject\myProject_Tester\LINK    
myProject_Tester

我在 中添加了myProject作为参考myProject_Tester,但是当我在编辑myProject_Tester.cpp时,我尝试输入#include "myProjectDLL.h"(用于 的头文件myProject)以包含头文件,myProjectDLL.h但 Intellisense 中没有显示。

我还在U:\Software Development\c++ projects\myProject\Debug附加包含目录下添加了myProject_Tester.

属性中是否还有其他地方myProject_Tester我需要配置一些东西来连接它myProject

编辑:这是我用于 myProjectDLL.h 的头文件:

//myProjectDLL.h

#ifdef MYPROJECT_EXPORTS
#define MYPROJECT_API __declspec(dllexport) 
#else
#define MYPROJECT_API __declspec(dllimport) 
#endif

namespace myProject
{
    class FileOperator
    {
    public:
        static int openDoc(int projectID,int docID);
    };
}
4

1 回答 1

3

您没有正确设置 Additional Include Directories 设置。您的 .h 文件肯定不在 Debug 文件夹中。改为 U:\Software Development\c++ projects\myProject。

在构建“myProject”项目后,请确保 .lib 文件确实存在。如果它丢失,那么您忘记使用 __declspec(dllexport) 告诉链接器导出您想要提供的函数或类。

并确保项目以正确的顺序构建,必须在控制台项目开始构建之前构建“myProject”。如有必要,在解决方案资源管理器窗口中右键单击控制台项目,单击“项目依赖项”并在对话框中勾选 myProject。

于 2013-10-09T21:41:11.340 回答