编辑: 更新了帖子以避免链接到第三方网站并在此处收集所有必需的信息。
任何信息都表示赞赏。如果您需要更多信息,请通知我,我将使用新的详细信息编辑帖子。 以下是一些有用的信息。
我正在尝试使用由一个lib文件和一个头文件组成的第三方SDK。我设法让intellisense工作,但即使我修改了项目的build.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
因此我假设错误在于我没有告诉虚幻编译器在哪里找到lib文件。
提前感谢您提供有关这种方式的所有信息太顽固的错误。
答案 0 :(得分:1)
我终于找到了我的错误。
在检查了使用相同版本的VSC ++编译这两个程序之后,我检查了它是否处于正确的配置中,我改变了一个额外的东西,使它全部运行。
我没有编译成多线程LIB文件,而是将代码编译为DLL文件。 我是通过打开LIB项目属性并转到C / C ++ - >来完成的。代码生成 - >运行时库并将其设置为多线程DLL(/ MD)。 在General下,我将配置类型设置为静态库(.lib)。