Использование сторонней библиотеки, состоящей из «.h», «.lib» и & quot; .dll & quot; файлы

Поэтому в настоящее время я пытаюсь использовать библиотеку VISA от National Intruments и IVI Foundation для чтения / записи команд на различные внешние устройства.

Я относительно новичок в своей среде IDE: Microsoft Visual C ++ Express 2010, и я впервые пытаюсь использовать стороннюю библиотеку, которая требует импорта больше, чем .h.

В основном у меня есть каталог с 3 заголовочными файлами, каталог с 3 библиотеками .lib и каталог с 7 библиотеками DLL. У них нет документации о том, что делает какой-либо из отдельных файлов, только библиотека в целом. Итак, мне нужно иметь возможность получить все эти файлы, связанные с моим проектом.

В настоящее время у меня есть все заголовки, импортированные в мой файл заголовка, и каталог заголовков, добавленный в каталоги включения в свойствах проекта. У меня также есть каталог, содержащий файлы .lib, добавленные в каталоги библиотеки в свойствах проекта. Я предполагал, что файлы .lib будут ссылаться на библиотеки DLL, но, очевидно, это не так, потому что я получаю сообщение об ошибке:

Консоль VISA 2.obj: ошибка LNK2019: неразрешенный внешний символ _viOpenDefaultRM @ 4, указанный в функции _wmain

Эта ошибка возникает при использовании любой функции из библиотеки. Вот мой код в настоящее время:

#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
ViStatus status;
ViSession defaultRM, instr;

status = viOpenDefaultRM(&defaultRM);

return 0;
}

Проект будет создан, когда я закомментирую команду viOpenDefaultRM, поэтому я предполагаю, что это означает, что я могу использовать объекты из библиотеки, а не команды. Так как у меня есть 3 объявления объекта, которые строят просто отлично.

Хорошо, это вся моя информация, надеюсь, кто-то может помочь и надеюсь, что это поможет кому-то еще!

4

Решение

Помимо добавления каталога для файлов .lib в свойство каталогов библиотеки, вам также необходимо добавить фактические библиотеки, которые должен искать компоновщик.

Добавить библиотеки в проект

 Configuration Properties | Linker | Input | Additional Dependencies

поле.

DLL не нужны для процесса сборки, но для запуска программы они должны находиться в каталоге PATH или в том же каталоге, что и файл программы.

5

Другие решения

Вы добавили в свойства проекта дополнительные зависимости?

Под «Linker-> Input» найдите «Additional Dependecies» и поместите туда библиотеки, которые вы получили

1