abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 10:55 | Pozvánky

    Organizátoři konference LinuxDays ukončili veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata, která na letošní konferenci zaznějí. Hlasovat můžete do neděle 7. září. Poté podle výsledků hlasování organizátoři sestaví program pro letošní ročník. Konference proběhne 4. a 5. října v Praze.

    Petr Krčmář | Komentářů: 2
    dnes 02:22 | Nová verze

    Byla vydána verze 11.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 06:00 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. Vypíchnout lze, že v Plasmě byl implementován 22letý požadavek. Historie schránky nově umožňuje ohvězdičkovat vybrané položky a mít k ním trvalý a snadný přístup.

    Ladislav Hagara | Komentářů: 0
    30.8. 20:00 | Nová verze

    Wayfire, kompozitní správce oken běžící nad Waylandem a využívající wlroots, byl vydán ve verzi 0.10.0. Zdrojové kódy jsou k dispozici na GitHubu. Videoukázky na YouTube.

    Ladislav Hagara | Komentářů: 0
    30.8. 04:00 | Komunita

    Před necelými čtyřmi měsíci byl Steven Deobald jmenován novým výkonným ředitelem GNOME Foundation. Včera skončil, protože "nebyl pro tuto roli v tento čas ten pravý".

    Ladislav Hagara | Komentářů: 7
    29.8. 18:33 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 156 (pdf).

    Ladislav Hagara | Komentářů: 0
    29.8. 15:11 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.8.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    29.8. 12:11 | IT novinky

    Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.

    Ladislav Hagara | Komentářů: 0
    28.8. 23:33 | Nová verze

    Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    28.8. 21:55 | Nová verze Ladislav Hagara | Komentářů: 4
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (8%)
     (2%)
     (3%)
     (4%)
     (1%)
    Celkem 122 hlasů
     Komentářů: 9, poslední 28.8. 11:53
    Rozcestník

    Dotaz: C++ a Qt - implementace knihovny

    3.4.2014 17:42 phoenixes
    C++ a Qt - implementace knihovny
    Přečteno: 393×
    Dobrý den.

    Předem uvádím, že nejsem bohužel pokročilý jak v Linuxu, tak v programování, ale potřebuji radu :-)

    Vytvářím projekt v Qt creatoru pod Lubuntu. Program nebude zas tak složitý, ale potřebuji do toho projektu implementovat knihovnu libcrafter tak, abych mohl používat její funkce a dál psát C++ kód v Qt creatoru.

    Jde mi jenom o tuhle konkrétní knihovnu, nicméně nemám žádné zkušenosti s implementací "cizí" knihovny do projektu.

    Budu vděčný za každou radu. Pokud je toto příliš "začátečnický" dotaz, budu rád, pokud mě alespoň odkážete správným směrem.

    Předem děkuji.

    Řešení dotazu:


    Odpovědi

    3.4.2014 19:49 Sten
    Rozbalit Rozbalit vše Re: C++ a Qt - implementace knihovny
    Nevím, jak je to přesně v Qt Creatoru, ale obecně se knihovny připojují takto:
    1. Pokud je knihovna z balíčků, je většinou potřeba nainstalovat nějaký vývojový balíček, např. libcrafter-dev, který obsahuje potřebné hlavičkové soubory.
    2. Mezi cesty k hlavičkovým souborům přidáme cestu k hlavičkovým souborům té knihovny (-Icesta). Není potřeba, pokud je knihovna instalovaná z balíčků.
    3. Linkeru přidáme do voleb, že má linkovat tuhle knihovnu (-lcrafter) a kde ji najde (-Lcesta). To druhé opět není potřeba, pokud je knihovna instalovaná z balíčků.
    4. A to je vše, stačí knihovnu použít (#include <...> a tak dále)
    3.4.2014 21:43 Travellover
    Rozbalit Rozbalit vše Re: C++ a Qt - implementace knihovny
    Perfektni napoveda!

    Jeste pridam, ze v QtCreatoru si budete moci vybrat projekt s QMake build systemem (pokud bude vase aplikace pouzivat QT pro UI, urcite pro zacatek volte QMake.

    Alternativni volba je pouzit CMakeLists (CMake) build system (zjednodusene neco jako preprocessor skutecneho projektu/build systemu). CMake je volba pro multiplatformni projekt a/nebo pokud nechcete byt zavisly na qmake. Pokud ale nemate moc zkusenosti s takovym vyvojem, volte qmake.

    Myslim ze posledni moznost je pouzit Makefiles, ale byla by to skoda, protoze podpora CMake nebo QMake je v QtCreatoru promakana.

    Have fun!
    3.4.2014 22:26 phoenixes
    Rozbalit Rozbalit vše Re: C++ a Qt - implementace knihovny
    Děkuji mockrát za rady.

    Knihovnu jsem první "nainstaloval" dle readme souborů. Ovšem při Buildu jsem nedokázal linkeru v Qt creatoru předat ten parametr -lcrafter.

    Tak jsem zkoušel alternativní postup, kdy jsem celý stažený archiv zkopíroval do složky projektu a použil jsem #include "cesta/crafter.h". Bohužel, ani tady jsem nebyl moc úspěšný. První to psalo, že funkce neexistuje "in the scope". Po nalezení správného hlavičkového souboru to píše "undefined reference to Crafter::GetMyIP".

    Takže otázky jsou následující:

    1) Jak přidat tomu linkeru v Qt ten správný parametr?

    2) Je to moc velká prasárna, nakopírovat tam všechny ty soubory tak, jak jsem to udělal?

    3) Máte někdo ponětí, jak to můžu zprovoznit v tom Qt? Když mi to normálně jde, když vytvořím jenom samotný .cpp soubor v terminálu a přeložím to pomocí g++ s -lcrafter?

    Díky za Vaše reakce..
    Řešení 1× (Roman Došek)
    3.4.2014 23:21 Roman Došek | skóre: 17 | blog: flare
    Rozbalit Rozbalit vše Re: C++ a Qt - implementace knihovny
    Pokud používáš QMake, jakože asi jo, tak stačí do .pro souboru přidat následující věci:
    INCLUDEPATH +=  /path/to/crafter/header/files
    
    LIBS += -L/path/to/crafter/libs/
    LIBS += -lcrafter
    
    Prasárna to je, ale hlavně je to zbytečné :-)
    5.4.2014 10:29 phoenixes
    Rozbalit Rozbalit vše Re: C++ a Qt - implementace knihovny
    Super, ty LIBS to vyřešily. Dával jsem tam nějaké FLAGS, které jsem vygoogloval, ale to nebylo ono.

    Super, tak díky moc. Jdu pokračovat, vzhůru dalším problémům. :)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.