samoilovv / TinkoffInvestSDK

C++ client for Tinkoff Invest API
https://samoilovv.github.io/TinkoffInvestSDK/
MIT License
28 stars 5 forks source link

Не понимаю как сделать так, чтобы проект видел заголовочные файлы #17

Open eternalmarkfarm opened 7 months ago

eternalmarkfarm commented 7 months ago

приветствую! я установил сдк в директорию с проектом(через смэйк), но в основном файле проекта никак не удаается сделать видимыми файлы библиотек! я относительно новичок во всем этом, будь добр, помоги с этим пожалуйта.

eternalmarkfarm commented 7 months ago

юзаю винду и вижуал...

Roy2player commented 7 months ago

Если вы в своем коде #include вставляете, то надо прописывать полный абсолютный или относительный патч.

include "/full/path/to/header.h"

Пришлите адреса к файлам SDK и вашего проекта и что вы пишете в #include и ошибку приложите.

eternalmarkfarm commented 7 months ago

вот есть пример кода, который я взял для теста:

#include "investapiclient.h"
#include "marketdatastreamservice.h"
#include "ordersstreamservice.h"

void marketStreamCallBack(ServiceReply reply)
{
    std::cout << reply.ptr()->DebugString() << std::endl;
}

int main()
{
    InvestApiClient client("invest-public-api.tinkoff.ru:443", getenv("TOKEN"));

    //get references to MarketDataStream and OrdersStream services
    auto marketdata = std::dynamic_pointer_cast<MarketDataStream>(client.service("marketdatastream"));
    auto orders = std::dynamic_pointer_cast<OrdersStream>(client.service("ordersstream"));

    //subscribe to British American Tobacco and Visa Inc. prices
    marketdata->SubscribeLastPriceAsync({"BBG000BWPXQ8", "BBG00844BD08"}, marketStreamCallBack);

    //subscribe to Bashneft (BANE) and Moscow Exchange (MOEX) shares transactions
    marketdata->SubscribeTradesAsync({"BBG004S68758", "BBG004730JJ5"}, marketStreamCallBack);

    //subscribe to your transactions
    orders->TradesStreamAsync({""}, marketStreamCallBack);

    return 0;
}

у меня подчеркиваются красным все инклуды и пишет что: не удается открыть источник файл "investapiclient.h"
я зашел в папку с BUILD и решил найти этот файл "investapiclient.h" чтобы прописать путь прямо, но он находит только investapiclient.obj если бы я занл что прописать в проекте к путям библиотек и заголовочных файлов но нигде нет полной инфы, а мне как начинающему сложно разобраться... у вас был опыт установки на винду?

image

Roy2player commented 7 months ago

Хорошо, но вы не прислали адреса расположения 'проблемных' заголовочных файлов и файлов вашего проекта. Тут проблема именно в них.

а мне как начинающему сложно разобраться Наберайтесь тепрения, потому что дальше будет куда сложнее

eternalmarkfarm commented 7 months ago

Про терпение понял, оно воспитывается во мне)) я нашел эти файлы , но они не в установленной SDK в моем проекте, а в изначальной локале скачанного SDK, я указал к ним путь, и заоголовочные файлы перестали быть проблемой, но вместо них вылезло 1227 ошибок, скрин приложу, что ЭТО за ошибки я не понимаю, соответственно и как фиксить так же вот такая фраза: "C++ Корректная работа модуля IntelliSense невозможна из-за слишком большого количества ошибок, некоторые из которых могут быть не видны в редакторе." image

Roy2player commented 7 months ago

Ну по сути это тоже самое, только с другими файлами. Можно попробовать сообщить v code где искать заголовочные файлы.

Вы пробовали собирать не через visual studio компилятор, а через cmake? Я не уверен, что vs соберет вам проект с протобафами, даже если вы решите проблему с путями. Собирать проекты, которые используют GRPc это сущий кошмар...

Roy2player commented 7 months ago

Вся кипа файлов выше это часть GRPc протокола, который собирается отдельным cmake в SDK и линкуется к бинарнику программы. Можно посмотреть в папке с примером любой cmakelist.

eternalmarkfarm commented 7 months ago

у меня весь SDK собран cmakeОМ а не visual studio, именно к visual studio проекту я не понимаю как это все присобачить... к заголовоным файлам допустим пути есть, я указал эти пути visual studio проекту в свойствах и тут вылезли эти ошибки, что делать дальше и что предполалаг автор я не понимаю... тут нужен тот, кто собирал все это на винде

eternalmarkfarm commented 7 months ago

если ты устанавливал данный сдк на линуксе, то я готов к помощи в установке на линукс, у меня есть дебиан на виртуал боксе

eternalmarkfarm commented 7 months ago

в общем благодаря одному человеку я сумел запустить данный сдк на дебиане, первым делом попробовав сэмплы. на винде семплы не запускаюся потому что нет необходимых dll, при том что я все сделал по инструкции