Diskuze: C++ knihovna do Arduina

Hardware PC Hardware Ostatní hardware C++ knihovna do Arduina

Avatar
Denis Homolík (Alfonz):

Čau,
Chtěl bych se zeptat jak jde přidat do Arduina C++ knihovna s koncovkou .hpp?

Odpovědět 11.10.2014 12:27
Vše je možné, dokud si to myslíte!
Avatar
MrPabloz
Člen
Avatar
MrPabloz:

Normálně jak v obzčejném C++?

#include "knihovna.hpp"
Nahoru Odpovědět 11.10.2014 12:39
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
Odpovídá na MrPabloz
Denis Homolík (Alfonz):

Ok, tak se mi to povedlo, ale nemůžu používat jeho knihovny. Používám tuto knihovnu http://exprtk.codeplex.com/ .
A compiler hází chybu u tohoto(exprtk has not been declared):

typedef exprtk::symbol_table<double> symbol_table_t;
   typedef exprtk::expression<double> expression_t;
   typedef exprtk::parser<double> parser_t;
   typedef exprtk::parser_error::type error_t;
Nahoru Odpovědět 15.10.2014 17:30
Vše je možné, dokud si to myslíte!
Avatar
Eldan
Člen
Avatar
Eldan:

Includovat header smaotný nestačí. Potřebuješ ještě soubor který obsahuje samotný kód - (cpp, lib, atd.)

Nahoru Odpovědět 28.10.2014 12:55
Unobfuscated executable == free source code
Avatar
Odpovídá na Eldan
Denis Homolík (Alfonz):

Ale v příkladech k exptrk je includovám jen hpp

Nahoru Odpovědět 28.10.2014 14:44
Vše je možné, dokud si to myslíte!
Avatar
Eldan
Člen
Avatar
Eldan:

Ano, ve zdrojáku se includuje hlavičkový soubor. Ale kromě toho musíš linkeru říct kde má hledat definice věcí v tom headeru deklarovaných (dependencies/in­cludes).

Nahoru Odpovědět 28.10.2014 15:35
Unobfuscated executable == free source code
Avatar
Odpovídá na Eldan
Denis Homolík (Alfonz):

Ok, ale když si to stáhnu je tam jen ten .hpp pak 16 příkladů(.cpp), nějaký test(.cpp) a nakonec Makefile bez přípony.

Nahoru Odpovědět 28.10.2014 17:37
Vše je možné, dokud si to myslíte!
Avatar
Eldan
Člen
Avatar
Eldan:

Pokud je tam makefile tak to znamená že to asi bude nutné zkompilovat :) Pokud nevíš jak tak tady je návod (http://sux.cz/d913). Je dost možné že to je makefile na linux, v tom případě si budeš muset bu´d sehnat cygwin nebo nějaký linux s gcc (nebo něčím podobným).

Editováno 28.10.2014 17:51
Nahoru Odpovědět 28.10.2014 17:49
Unobfuscated executable == free source code
Avatar
Eldan
Člen
Avatar
Odpovídá na Eldan
Eldan:

EDIT: Tak jsem na to kouknul a ten makefile je jen pro ty examply, tzn. ti moc nepomůže. Plus jsem úplný idiot a nedošlo mi že máš .hpp a ne .h, takže k tomu lib nepotřebuješ jelikož kód máš už v tom. Mělo by to fungovat úplně bez problému, pokud tedy ten kód který ukazuješ máš v souboru kde includuješ ten header. Když jsem si to zkusil tak mě to jde bez problému - kdyžtak postni celý soubor, možná je tam někde nějaká hloupá chyba.

Editováno 28.10.2014 18:00
Nahoru Odpovědět 28.10.2014 17:59
Unobfuscated executable == free source code
Avatar
Denis Homolík (Alfonz):

Tady to je :)

#include <exprtk.hpp>

String example = "4+5";


void setup()
{
  exprtk::expression<double> expression;
  exprtk::parser<double> parser;

  parser.compile(example,expression);

  Serial.begin(9600);
  Serial.println(parser.value());
}

void loop()
{

}
Editováno 28.10.2014 18:04
Nahoru Odpovědět 28.10.2014 18:04
Vše je možné, dokud si to myslíte!
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 10 zpráv z 10.