从UE4链接到第三方库时未解析的外部符号
Unresolved external symbol when linking to third party libraries from UE4
>编辑:更新了帖子,以避免链接到第三方网站并在此处收集所有必需的信息。
任何信息不胜感激。如果您需要更多信息,请通知我,我将使用新的详细信息编辑帖子。以下是一些有用的信息。
错误。
源代码。
我正在尝试使用由一个库文件和本质上一个头文件组成的第三方 SDK。我设法让智能感知工作,但即使我修改了项目的构建.cs文件以添加库路径,我也会收到链接器错误。
public OculusTest(TargetInfo Target)
{
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
// Add static libs
PublicAdditionalLibraries.Add(Path.Combine(ThirdPartyPath, "RPLidar/Libraries", "rplidar_driver.lib"));
// Add a path with the .h that has the function definitions
PublicIncludePaths.Add(Path.Combine(ThirdPartyPath, "RPLidar", "Includes"));
}
我还检查了我是否遗漏了某些内容,但是在独立的C++项目中,我使用相同的文件,并且只使用相同的文件,并且它确实有效。有问题的文件是
RPLidar.h 和 rplidar_driver.lib
因此,我认为错误在于我未能告诉虚幻编译器在哪里可以找到库文件。
提前感谢您提供有关这种方式太顽固错误的所有信息。
我终于发现了我的错误。
在检查了相同版本的VSC++用于编译两个程序并且我检查了它是否处于正确的配置中之后,我更改了一件额外的事情,使这一切得以解决。
我没有编译为多线程 LIB 文件,而是将代码编译为 DLL 文件。我通过打开 LIB 项目属性并转到 C/C++ -> 代码生成 -> 运行时库并将其设置为多线程 DLL (/MD) 来做到这一点。在"常规"下,我将配置类型设置为静态库 (.lib)。
相关文章:
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 未解析的外部符号_MsiLocateComponentW@12.
- 在C++中使用 gRPC 时未解析的外部符号
- LibPrivoxy: 未解析的外部符号 __declspec(dllimport) int __stdcall Sta
- 尝试从 XamlApplication 编译 C++/WinRT 空白应用程序时,我收到未解析的外部符号 winrt_make_*
- 我收到错误LNK2001:未解析的外部符号(C++代码)
- 可视抽象类 c++(错误 LNK 2001:未解析的外部符号)
- 如何摆脱C++中未解析的外部符号"private: static char"错误?
- 当 lib 已添加到其他依赖项时,如何在 VS 中调试未解析的外部符号错误
- 仅在少数方法(静态或共享库)中解析的外部符号
- 未解析的外部符号"__declspec(dllimport)与 Spdlog c++ 库
- 函数 _main (OPENGL C++) 中引用的未解析的外部符号 ________
- 错误LNK2019未解析的外部符号"public: __thiscall SLinkList<char>::SLinkList<char>(void)"
- 使用静态 constexpr 成员的未解析外部符号
- 引入参数化构造函数后显示 LNK 2019 未解析外部符号的代码错误
- Dlib LNK2001未解析的外部符号USER_ERROR__consistent_build_configurati
- 矛盾的未解决的外部符号+未使用的库与VS2017和FFMPEG 4
- 链接器错误:切换到unicode生成给出:未解析的外部符号WinMain
- 类模板上一个特定函数的未解析外部符号
- LNK2001:未解析的外部符号public:static类std::vector