Využij akce až 80 % zdarma při nákupu e-learningu. Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu
python week
Avatar
Caster
Člen
Avatar
Caster:7.9.2020 20:32

Do Visual Studia 2017 (VS) jsem si si pomocí Visual Studio Installer doinstaloval modul Node.js. Nyní bych chtěl přidat knihovnu amadeus-node API z Githubu.

https://github.com/amadeus4dev/

Zkusil jsem: Po jejím naklonování pomocí Team Explorer ve VS jsem ale zjistil, že neobsahuje žádní řešení *.sln a nemohu ji proto zkompilovat. Lze nějak knihovnu amadeus-node do VS doinstalovat?

Chci docílit: Rád bych zkusil pracovat s rezervačním systémem Amadeus pomocí příkazů ze svého programu (přístupová práva pro testování již mám). Do VS jsem si před pár dny úspěšně doinstaloval knihovnu cURL pro C++, ale zjistil jsem, že posílání příkazů a zpětné čtení přijatých dat není až tak jednoduché. Amadeus-node API by práci velmi usnadnilo.

Viz také pokyny zde: https://developers.amadeus.com/…ice-apis-335

Vzorový příklad po instalaci knihovny cURL podle videa z Youtube (odkaz na "Hello, world!" již ale nefunguje), program se zkompiluje a běží bez problémů:

#define CURL_STATICLIB
#include <iostream>
#include <string>

#include "curl/curl.h"


static size_t my_write(void* buffer, size_t size, size_t nmemb, void* param)
{
        std::string& text = *static_cast<std::string*>(param);
        size_t totalsize = size * nmemb;
        text.append(static_cast<char*>(buffer), totalsize);
        return totalsize;
}

int main()
{
    /*std::cout << "Hello World!\n";*/
        std::string result;
        CURL* curl;
        CURLcode res;

        curl = curl_easy_init();
        if (curl) {
                curl_easy_setopt(curl, CURLOPT_URL, "https://tcno.co/hello.txt");
                curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_write);
                curl_easy_setopt(curl, CURLOPT_WRITEDATA, &result);

                curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);

                res = curl_easy_perform(curl);

                curl_easy_cleanup(curl);

                if (CURLE_OK != res) {
                        std::cerr << "CURL error: " << res << '\n';
                }
        }
        curl_global_cleanup();

        std::cout << result << "\n\n";
}
 
Odpovědět
7.9.2020 20:32
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Caster
Martin Dráb:7.9.2020 20:43

Pokud žádný soubor .sln či soubor projektu není součástí repozitáře, pravděpodobně ti nezbývá, než si jej vytvořit sám. Alespoň v C/C++ je to běžná praxe a obvykle to není nic moc těžkého (prostě prohlédneš Makefile a podle toho ty projekty "nastřílíš").

U C/C++ je daleko větším problémem fakt, že většina takových projektů buď obsahuje "dialekt", který překladač Visual Studia nemá rád, nebo je určena pro unixové systémy a používá věci, které na Windows jaksi neexistují...

Nahoru Odpovědět
7.9.2020 20:43
2 + 2 = 5 for extremely large values of 2
Avatar
Caster
Člen
Avatar
Odpovídá na Martin Dráb
Caster:7.9.2020 21:07

To se teda vůbec nechytám. V klonovaných souborech z Githubu soubor Makefile není. Instalace se má provést příkazem:

npm install amadeus --save

 
Nahoru Odpovědět
7.9.2020 21:07
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Caster
Martin Dráb:7.9.2020 21:13

To se teda vůbec nechytám. V klonovaných souborech z Githubu soubor Makefile není. Instalace se má provést příkazem:

Makefile jsem myslel pro případ C/C++, který znám. Ale může místo něho být soubor pro CMake či něco úplně jiného. Jde o to, abys měl něco, z čeho vyčteš, jakým způsobem daný kód zpracovat (přeložit, slinkovat, udělat jiné věci...).

Asi bude nejlepší, když si zkusíš vytvořit nějaký testovací projekt, abys viděl, jak to vypadá a co to umí... a podle toho pak budeš moci vytvořit projekt/sln pro tu knihovnu.

O Javascript, Node.js a podobné věci se nezajímám, takže nevím, jak přesně to tam funguje.

Nahoru Odpovědět
7.9.2020 21:13
2 + 2 = 5 for extremely large values of 2
Avatar
Caster
Člen
Avatar
Caster:7.9.2020 22:14

Našel jsem asi správný tip, jak na to, ale vůbec nic mi to neříká. Dal jsem dotaz pod to video autorovi ;-).

https://developers.amadeus.com/…eus-node-sdk

 
Nahoru Odpovědět
7.9.2020 22:14
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.