Я пытаюсь разработать код для управления некоторыми инструментами с помощью адаптера NI GPIB-USB-B в Xubuntu 14.04.1 LTS и ядре 3.13.0-35.
На этом этапе я просто собираюсь для доказательства концепции с функцией ibdev() в библиотеке ib.h. Когда я ввожу следующую команду:
Для моей проблемы я получаю следующее: "неопределенная ссылка на" ibdev "".
Я предполагаю, что библиотека ib.h находится в правильном месте, поскольку компилятор не жалуется на то, что не смог ее найти.
Я думаю, что, вероятно, я не вхожу в правильный переключатель в моей команде g++, чтобы включить эту библиотеку, поскольку у меня были подобные проблемы раньше с библиотекой time.h, когда мне нужно было включить -lrt. Я искал часы и не могу найти решение этого, несмотря на его простоту. Я просмотрел файл ib.h, и он содержит эти прототипы функций (хотя используется "extern"), но я не знаю, где искать их исходный код. Это кажется очень простой проблемой с очень простым решением, и я был бы признателен за любую помощь, которая может быть предоставлена.
Вот моя простая программа:
#include "visa.h"
#include <gpib/ib.h>
#include <iostream>
int main() {
int dev;
dev = ibdev(0, 5, 0, 13, 1, 0);
std::cout << "Press any key\n";
std::cin.ignore();
return 0;
}
Вы пытались включить -lgpib? Если его нет в стандартном пути, используйте -L, чтобы указать путь к libgpib
Кроме того, убедитесь, что вы включили правильный gpib/ib.h, используя -I