【发布时间】:2019-10-29 09:55:55
【问题描述】:
我正在尝试在我的项目中使用 ADTF 流媒体库。当我包含库时,我收到 LNK1181 错误。该库带有头文件、lib 文件和 dll 文件。
我已经在 C/C++ -> General -> Additional Include Directories 里面添加了路径。
另外,我在 Linker -> Input -> Additional Dependencies 里面添加了库。
这里也是错误截图。
更新:我已将 dll 和库的位置更改为我的项目路径并再次包含它。它现在不会抱怨 lib 本身。现在我收到一个错误 LNK2001。我相信这也是一个链接器错误。
这一切都出了问题!
更新 2: 在我看到构建的完整日志之后。这出现了,我认为这意味着,链接器找不到我的库。对吗?
主要应用代码如下:
#include "pch.h"
#include <iostream>
#include "adtf_streaming.h"
using namespace adtfstreaming;
int main()
{
std::cout << "Hello World!\n";
IADTFFileReader *pFileReader = IADTFFileReader::Create();
}
而试图读取/导入我的库的头文件是
#ifndef _ADTF_STREAMING_LIBRARY_DLL_
#define _ADTF_STREAMING_LIBRARY_DLL_
#ifdef WIN32
#ifdef STREAMINGLIB_EXPORTS
#pragma message ("Create ADTF Streaming Library ")
// export symbols
#define DOEXPORT __declspec( dllexport )
#else
#pragma message ("Use dynamic ADTF Streaming Library ")
#ifdef _DEBUG
#pragma comment( lib, "adtfstreamingD_290.lib" )
#else
#pragma comment( lib, "adtfstreaming_290.lib" )
#endif
#define DOEXPORT __declspec( dllimport )
#endif
#else
#ifdef STREAMINGLIB_EXPORTS
#define DOEXPORT __attribute__ ((visibility("default")))
#else
#pragma comment( lib, "adtfstreaming_290.lib" )
#define DOEXPORT __declspec( dllimport )
#endif
#endif
//standard includes
#include <stdlib.h>
#include <string.h>
//adtf base types and errors
#include "adtf_base_ref.h"
//streaming lib version
#include "adtf_streaming_version.h"
//adtf streaming lib package headers
#include "adtf_streaming_pkg.h"
#endif //_ADTF_STREAMING_LIBRARY_DLL_
【问题讨论】:
-
1.这些库真的存在于那个位置吗? 2、你是否设置了所有项目配置的路径和文件?例如发布和调试?您可能已经为一个项目配置设置了它,但没有为另一个项目配置设置它,这是配置发布但未配置调试时的常见疏忽
-
您应该只将发布或调试库添加到每个配置,而不是发布和调试。所以为发布配置添加发布库,为调试配置添加调试库
-
它在发布/调试中是否编译正常或两者都失败?您需要查看您的相关错误,因为您的问题现在已转移到另一个问题。此外,我和其他人很难在没有代码的情况下帮助你重现你的错误。您可以将标志 `/VERBOSE' 添加到链接器高级选项中,以从链接器获取完整输出,以检查路径等是否真的正确
-
你应该将你的 lib 文件夹路径添加到 Linker -> General -> "Additional Library Directories" 而不是 "Additional Include Directories"。
-
您已将 lib 路径添加到包含路径中,您的 lib 路径位于此页面下的“C/C++->Linker->General”下是“附加库目录”的条目添加你的 lib 路径
标签: c++ visual-studio-2017 libraries visual-studio-2017-build-tools adtf