从引用项目的 .lib 文件中获取LNK1104错误

getting LNK1104 error from a referenced project's .lib file

本文关键字:获取 LNK1104 错误 文件 lib 引用 项目      更新时间:2023-10-16

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

生成解决方案时,在"错误列表"中收到以下错误消息:

error LNK1104:
cannot open file 'U:Software Developmentc++ projectsmyProjectDebugmyProject.lib'
U:Software Developmentc++ projectsmyProjectmyProject_TesterLINK    
myProject_Tester

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

我还在"myProject_Tester的其他包含目录"下添加了U:Software Developmentc++ projectsmyProjectDebug

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);
    };
}

您未正确设置"其他包含目录"设置。 您的 .h 文件肯定不在调试文件夹中。 改为 U:\Software Development\c++ projects\myProject。

请确保在构建"myProject"项目后确实存在.lib文件。 如果缺少,则忘记使用 __declspec(dllexport( 告诉链接器导出要提供的函数或类。

并确保项目以

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