1 Востаннє редагувалося ijonhson (02.02.2023 04:23:20)

Тема: [ilink32 Error] Error: Unresolved external 'serial::list_ports()'

Знайшов бібліотеку Serial для роботи з ком портом, але лінкер її не хоче .....
мій код

//---------------------------------------------------------------------------
 #include<SysUtils.hpp>
#include <fmx.h>
#pragma hdrstop
#include <windows.h>
#include "Unit1.h"
#include "serial.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.fmx"
using std::string;
using std::vector;

TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{



    vector<serial::PortInfo> devices_found = serial::list_ports();

    vector<serial::PortInfo>::iterator iter = devices_found.begin();

    while( iter != devices_found.end() )
    {
        serial::PortInfo device = *iter++;
        AnsiString temp=AnsiString(device.port.c_str());

        ComCBox->Items->Add(temp);
    }


}
//---------------------------------------------------------------------------

P.S. бібліотека в архіві

Про всяк випадок там був конфлікт визначення typedef signed char int8_t із якимось хедером, я пройшовся по бібліотеці пошуком notepead++ і ніде не знайшов застосування цьому типу, тому просто закоментував

Post's attachments

serial-main.zip 75.17 kb, 107 downloads since 2023-02-02 

2

Re: [ilink32 Error] Error: Unresolved external 'serial::list_ports()'

Це якійсь грьобаний квест.... В мережі знайшов перелік причин через які виникає помилка , основна, немає ліб файлу. поліз у документацію, так треба перед використанням зібрати за допомогою cmake. Cmake не хоче компілювати через відсутність, або неможливість знайти catkin package що воно таке я й гадки не маю може допоможе хтось?

3

Re: [ilink32 Error] Error: Unresolved external 'serial::list_ports()'

Для збірки тобі, ще знадобиться Python3 та https://catkin-tools.readthedocs.io/en/ … lling.html

Подякували: ijonhson1

4

Re: [ilink32 Error] Error: Unresolved external 'serial::list_ports()'

Дивлячись по архіву це всього оболонка написана на С++ над системними бібліотеками. Можливо краще не використовувати її а писати на пряму, підключивши відповідні бібліотеки

5 Востаннє редагувалося lucas-kane (03.02.2023 00:51:56)

Re: [ilink32 Error] Error: Unresolved external 'serial::list_ports()'

ijonhson написав:

Це якійсь грьобаний квест.... В мережі знайшов перелік причин через які виникає помилка , основна, немає ліб файлу. поліз у документацію, так треба перед використанням зібрати за допомогою cmake. Cmake не хоче компілювати через відсутність, або неможливість знайти catkin package що воно таке я й гадки не маю може допоможе хтось?

і так, перш ніж підключити її до свого проекту ти маєш її зібрати. для windows мають бути файли *.lib, а для unix-подібних систем *.so

Подякували: leofun011

6

Re: [ilink32 Error] Error: Unresolved external 'serial::list_ports()'

lucas-kane написав:

Для збірки тобі, ще знадобиться Python3 та https://catkin-tools.readthedocs.io/en/ … lling.html

Ось шо мені видав Python

>>> $ git clone https://github.com/catkin/catkin_tools.git
  File "<stdin>", line 1
    $ git clone https://github.com/catkin/catkin_tools.git
    ^
SyntaxError: invalid syntax
>>>

7 Востаннє редагувалося ijonhson (03.02.2023 02:57:37)

Re: [ilink32 Error] Error: Unresolved external 'serial::list_ports()'

Прихований текст

Як виявилось треба ще встановити модуль GitPython https://www-codespeedy-com.translate.go … _tr_pto=scа для того щоб його встановити треба додати шлях до змінної середовищаhttps://ru.stackoverflow.com/questions/ … 0%BB%D0%B5

завантажив GitPython але не можу зрозуміти куди прописувати команди

8 Востаннє редагувалося lucas-kane (11.02.2023 12:05:43)

Re: [ilink32 Error] Error: Unresolved external 'serial::list_ports()'

lucas-kane написав:
lucas-kane написав:

Для збірки тобі, ще знадобиться Python3 та https://catkin-tools.readthedocs.io/en/ … lling.html

Мушу вибачитись. Дав не той напрямок. Catkin

Ці два посилання - це один і той самий проект.
Друге посилання це ВІКІ ДОК. Спочатку я чомусь подумав, що це два різні проекти.

Подякували: ijonhson1

9

Re: [ilink32 Error] Error: Unresolved external 'serial::list_ports()'

lucas-kane написав:

Дав не той напрямок )). Catkin

А для вінди немає інструкції?

10

Re: [ilink32 Error] Error: Unresolved external 'serial::list_ports()'

https://replace.org.ua/uploads/images/6602/ecb5adfaa1c9580d2a9112e29eb0e994.png
https://replace.org.ua/uploads/images/6602/f76380530c0ce053c1b00dabb0edc3d0.png

11

Re: [ilink32 Error] Error: Unresolved external 'serial::list_ports()'

lucas-kane написав:
lucas-kane написав:

Для збірки тобі, ще знадобиться Python3 та https://catkin-tools.readthedocs.io/en/ … lling.html

Мушу вибачитись. Дав не той напрямок )). Catkin

P.S. Компенсую зібраними бібліотеками ))

Ваша lib не працює на комуніті, можливо це через те що потрібно збирати borland-овським компілятором

12 Востаннє редагувалося lucas-kane (11.02.2023 12:21:50)

Re: [ilink32 Error] Error: Unresolved external 'serial::list_ports()'

ijonhson написав:

А для вінди немає інструкції?

Тут дивись?. Та й зібрати її можна у Visual Studio?
Під Linux теж збирається. Без помилок.

ijonhson написав:

Ваша lib не працює на комуніті, можливо це через те що потрібно збирати borland-овським компілятором

Можливо. А що хоч виводить? Які помилки?

На жаль у мене не має " borland-овського компілятора" та й ставити його не хочеться заради однієї бібліотеки. Дивлячись вихідний код цієї бібліотеки можу сказати, що її сирці можна кинути до вашого проекту і не збираючи у бібліотеку. Там додати всього декілька файлів до проекту:

examples/serial_example.cc   
include/serial/serial.h
include/serial/v8stdint.h ---> Тут можуть бути нюанси із представлення цілого. У різних компіляторів по своєму...
include/serial/impl/unix.h
include/serial/impl/win.h
src/serial.cc
src/impl/unix.cc   
src/impl/win.cc

Як я і раніше говорив Serial - це лише оболонка над DCB structure написана на С++.