Мне недавно нужно было использовать библиотеку teem для чтения файлов nrrd, и я пишу проекты на C ++, используя платформу VS 2019.
Я использовал Cmake чтобы сгенерировать проект VS2019 с исходным кодом teem, и он смог построить его правильно без ошибок, а также получил файл lib teem.lib .
После получения файла lib он Было легко связать дополнительные внешние библиотеки в моем проекте, добавить дополнительные каталоги include, и связанные заголовочные файлы можно найти в обычном режиме.
Но следующая ошибка была получена после построения проекта.
Ошибка LNK2001, неразрешенный внешний символ __imp_nrrdKernelTent ProjectName D: \ *****. Obj 1
Обычно это связано с проблемой со ссылкой на lib.
Вот некоторые из решений, которые я пробовал:
- Убедитесь, что платформа, на которой скомпилирован teem, и платформа моего проекта - x64
- Подтвердите что оба являются многопоточными DLL, т. е. / MD
Что может быть подтверждено, так это отсутствие проблем с корректностью кода. Когда я компилирую, используя makefile с Ubuntu 18.04, я использую команду apt install libteem-dev
для установки teem lib, и программа компилируется и работает нормально.
Может кто-нибудь помочь мне с ссылкой на библиотеку teem, заранее всем спасибо !