РЕДАКТИРОВАТЬ:
Обновленный пост, чтобы избежать ссылок на сторонние сайты и собирать всю необходимую информацию здесь.
Любая информация приветствуется. Если вам нужна дополнительная информация, пожалуйста, сообщите мне, и я отредактирую сообщение с новыми деталями.
Вот некоторая полезная информация для начала.
Я пытаюсь использовать сторонний SDK, состоящий из одного файла lib и, по сути, одного заголовочного файла. Мне удается заставить 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
Поэтому я предполагаю, что ошибка в том, что я не смог сообщить компилятору Unreal, где найти файл lib.
Заранее спасибо за всю информацию относительно этого пути слишком упряма ошибка.
Я наконец нашел свою ошибку.
После проверки того, что одна и та же версия VSC ++ использовалась для компиляции обеих программ, и что я проверил, что она в правильной конфигурации, я изменил одну дополнительную вещь, которая заставила все это работать.
Вместо компиляции в многопоточный LIB-файл я скомпилировал код в виде DLL-файла.
Я сделал это, открыв свойства проекта LIB и перейдя в C / C ++ -> Code Generation -> Runtime Library и установив его в многопоточную DLL (/ MD).
Под Общим я установил тип конфигурации как статическую библиотеку (.lib).