QT — Как я могу использовать ftd2xx.lib с программой на C ++?

У меня проблемы с созданием программы для взаимодействия с чипом FTDI. Я не знаю, сколько информации могу дать в отношении номера модели чипа.

Я пытаюсь использовать API, предоставляемый FTDI для связи с чипом, который у меня есть. Я использую Qt Creator для программы, и я впервые использую ее. Все примеры, которые я нашел, используют include "ftd2xx.h", Ну, я пробовал так много способов заставить это работать. Я вручную набрал в каталоге ftd2xx.lib, переместил файлы в каталог проекта и выбрал «Внутренняя библиотека», использовал исходный каталог, выбрал «Внешняя библиотека» и выбрал «Системная библиотека».

Единственный метод, который дает мне другую ошибку, — это когда я включаю файлы пакета драйвера в каталог проекта и просто включаю файл заголовка с или без LIBS += ..., Даже тогда я получаю 393 ошибки, говорящие NAME does not name a type, NAME not declared in scope, так далее.

Как мне создать проект Qt Creator C ++, который распознает ftd2xx.lib и позволяет мне использовать функции из ftd2xx.h?

РЕДАКТИРОВАТЬ: я использую драйвер Windows 64bit пакет. В своем разочаровании я забыл, что должен включить эти важные детали.

EDIT2: код ниже.

main.cpp

#include <QCoreApplication>
#include <iostream>
#include "ftd2xx.h"using namespace std;

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

cout << "test" << endl;

return a.exec();
}

test.pro

#-------------------------------------------------
#
# Project created by QtCreator 2013-10-04T16:31:18
#
#-------------------------------------------------

QT       += core

QT       -= gui

TARGET = test
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = appSOURCES += main.cpp

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/ -lftd2xx
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/ -lftd2xxd
else:unix: LIBS += -L$$PWD/ -lftd2xx

INCLUDEPATH += $$PWD/
DEPENDPATH += $$PWD/

ошибки

Errors.png

Все это сопровождается более NAME does not name a type ошибки.

2

Решение

Заголовок ftd2xx содержит много типов Windows, поэтому перед включением заголовка ftdi необходимо включить windows.h.

.Lib-файл — это библиотека ссылок DLL, которая предоставляет информацию о компоновщике, необходимую для использования библиотеки DLL во время выполнения. Следующее компилируется и запускается с использованием g ++:

#include <windows.h>
#include <stdio.h>
#include <ftd2xx.h>
int main(int argc, char *argv[])
{
DWORD version = 0;
FT_STATUS status = FT_GetLibraryVersion(&version);
printf("version %ld\n", version);
return (status == FT_OK) ? 0 : 1;
}

Скомпилировано с использованием:

g++ -Wall -Idriver -o check.exe check.cpp driver/i386/ftd2xx.lib

где driver папка содержит распределенный пакет драйверов FTDI для Windows. -lftd2xx будет иметь компоновщик, ищущий что-то под названием libftd2xx.a, поэтому просто явно укажите имя файла .lib.

3

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

Других решений пока нет …

По вопросам рекламы [email protected]