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í
×

včera 11:33 | Pozvánky

Konference LinuxDays 2017 proběhne o víkendu 7. a 8. října v Praze v Dejvicích v prostorách FIT ČVUT. Konference OpenAlt 2017 proběhne o víkendu 4. a 5. listopadu na FIT VUT v Brně. Organizátoři konferencí vyhlásili CFP (LinuxDays, OpenAlt). Přihlaste svou přednášku nebo doporučte konference známým.

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

Byla vydána verze 1.3.0 odlehčeného desktopového prostředí Lumina (Wikipedie, GitHub) postaveného nad toolkitem Qt. Z novinek lze zmínit nový motiv ikon nahrazující Oxygen (material-design-[light/dark]) nebo vlastní multimediální přehrávač (lumina-mediaplayer).

Ladislav Hagara | Komentářů: 2
26.6. 17:33 | Bezpečnostní upozornění

Před šesti týdny byly publikovány výsledky bezpečnostního auditu zdrojových kódů OpenVPN a nalezené bezpečnostní chyby byly opraveny ve verzi OpenVPN 2.4.2. Guido Vranken minulý týden oznámil, že v OpenVPN nalezl další čtyři bezpečnostní chyby (CVE-2017-7520, CVE-2017-7521, CVE-2017-7522 a CVE-2017-7508). Nejzávažnější z nich se týká způsobu, jakým aplikace zachází s SSL certifikáty. Vzdálený útočník může pomocí speciálně

… více »
Ladislav Hagara | Komentářů: 1
26.6. 06:55 | Zajímavý projekt

V Edici CZ.NIC vyšla kniha Průvodce labyrintem algoritmů. Kniha je ke stažení zcela zdarma (pdf) nebo lze objednat tištěnou verzi za 339 Kč (připojení přes IPv4) nebo 289 Kč (připojení přes IPv6).

Ladislav Hagara | Komentářů: 6
26.6. 06:33 | Zajímavý software

Byla vydána verze 2.2.0 svobodného správce hesel KeePassXC (Wikipedie). Jedná se o komunitní fork správce hesel KeePassX s řadou vylepšení.

Ladislav Hagara | Komentářů: 0
26.6. 06:11 | IT novinky

Vývojář Debianu Henrique de Moraes Holschuh upozorňuje v diskusním listu debian-devel na chybu v Hyper-Threadingu v procesorech Skylake a Kaby Lake od Intelu. Za určitých okolností může chyba způsobit nepředvídatelné chování systému. Doporučuje se aktualizace mikrokódu CPU nebo vypnutí Hyper-Threadingu v BIOSu nebo UEFI [reddit].

Ladislav Hagara | Komentářů: 0
24.6. 01:23 | Komunita

Phoronix spustil 2017 Linux Laptop Survey. Tento dotazník s otázkami zaměřenými na parametry ideálního notebooku s Linuxem lze vyplnit do 6. července.

Ladislav Hagara | Komentářů: 3
23.6. 22:44 | Nová verze

Po třech měsících vývoje od vydání verze 5.5.0 byla vydána verze 5.6.0 správce digitálních fotografií digiKam (digiKam Software Collection). Do digiKamu se mimo jiné vrátila HTML galerie a nástroj pro vytváření videa z fotografií. V Bugzille bylo uzavřeno více než 81 záznamů.

Ladislav Hagara | Komentářů: 1
23.6. 17:44 | Nová verze

Byla vydána verze 9.3 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab. Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 3
23.6. 13:53 | Nová verze

Simon Long představil na blogu Raspberry Pi novou verzi 2017-06-21 linuxové distribuce Raspbian určené především pro jednodeskové miniaturní počítače Raspberry Pi. Společně s Raspbianem byl aktualizován také instalační nástroj NOOBS (New Out Of the Box Software). Z novinek lze zdůraznit IDE Thonny pro vývoj v programovacím jazyce Python a především offline verzi Scratche 2.0. Ten bylo dosud možné používat pouze online. Offline bylo možné používat pouze Scratch ve verzi 1.4. Z nového Scratchu lze ovládat také GPIO piny. Scratch 2.0 vyžaduje Flash.

Ladislav Hagara | Komentářů: 2
Chystáte se pořídit CPU AMD Ryzen?
 (6%)
 (31%)
 (1%)
 (9%)
 (44%)
 (9%)
Celkem 851 hlasů
 Komentářů: 65, poslední 1.6. 19:16
    Rozcestník

    Dotaz: C++: Error: Multiple definition of / first defined here

    31.3.2014 18:54 gld17 | skóre: 4 | blog: GLDiuv_blog
    C++: Error: Multiple definition of / first defined here
    Přečteno: 174×
    Zdravim,

    je to mozna blby dotaz, ale ja fakt nevim co delam spatne. Zkousel jsem hledat reseni na internetu ale podle me mam vsechno jak ma byt.

    mam hlavicku gyro.h, kde si definuji strukturu GyroStruct {...} gyroVals. Tuto hlavicku includuji do gyro.cpp a do main.cpp, kde pouzivam promennou gyroVals - cili je to v podstate globalni promenna.

    Pri sestaveni v Qt mi to napise chybu: multiple definition of GyroModule::gyroVals (file not found) / first defined here (file not found)

    V hlavickach pouzivam #ifndef GYRO_H #define GYRO_H #endif a take pouzivam namespacy.

    Dekuji moc za pomoc

    Řešení dotazu:


    Odpovědi

    31.3.2014 19:15 gld17 | skóre: 4 | blog: GLDiuv_blog
    Rozbalit Rozbalit vše Re: C++: Error: Multiple definition of / first defined here
    No tak jsem si tenhle prikladu delal v cistem projektu v Qt a cumim na to jak puk, fakt to nejde. Ja jako v C++ moc neumim, akorat jsem se na stredni ucil v C.

    Kdyz si vezmu, ze C++ podporuje proceduralni programovani, tak jaky ma pak smysl, ze kdyz si v hlavicce nadefinuju a nadeklaruju typ, nemuzu k nemu pak pristoupit z vicero mist naincludovanim hlavicky? To mi pripomina nejake zapouzdreni ktere znam z OOP.

    Please explain :-)
    31.3.2014 19:22 MadCatX
    Rozbalit Rozbalit vše Re: C++: Error: Multiple definition of / first defined here
    Můžete postnout nějaký minimální příkad toho, co se snažíte udělat? Jinak bacha, struct v C++ je něco jiného než v C. V C++ se structem rozumí třída, která má všechny členy implicitně public.
    31.3.2014 19:28 gld17 | skóre: 4 | blog: GLDiuv_blog
    Rozbalit Rozbalit vše Re: C++: Error: Multiple definition of / first defined here
    //main.cpp #include "foo.h"

    int main(int argc, char *argv[]) { struktura.i = 5; func(); return 0; }

    //foo.h

    #ifndef FOO_H #define FOO_H

    struct myStruct { int i; } struktura; void func(); #endif

    //foo.cpp

    #include "foo.h:"

    void func() { struktura.i = 4; }

    Vede k chybe Multiple definition of struktura.

    Uz jsem prisel na to, ze problem je proste ve vicenasobne definici (necekane :D ) promenne "struktura", kdyz si nainkluduju hlavicku i do main.cpp... jenomze co s tim? Co kdyz budu chtit pouzivat globalni promenne, jako jsem byl zvykly treba v Cecku?
    31.3.2014 19:34 gld17 | skóre: 4 | blog: GLDiuv_blog
    Rozbalit Rozbalit vše Re: C++: Error: Multiple definition of / first defined here
    Rikate ze structura je jako trida s public prvky v C++. A ja jsem cetl, ze prace se strukturami ma vetsi vykon nez s tridami. Delam tu aplikaci pro Raspberry Pi a chci at je to rychle, kdyz uz to delam v C++. Struktury vnimam jako zprehledneni, nez kdybych pouzival nejake pole. Tak co ted s tim, to muzu rovnou pouzit tridy? :/
    Josef Kufner avatar 31.3.2014 19:44 Josef Kufner | skóre: 67
    Rozbalit Rozbalit vše Re: C++: Error: Multiple definition of / first defined here
    Struktura a třída je v C++ skoro totéž. Zpomalení přichází až s virtuálními metodami. Ale i to je prakticky zanedbatelné a velmi dobře zoptimalizované. Jakýkoliv dnešní hardware je dost rychlý na to, abys toto nemusel v C++ řešit a mohl raději psát dobře čitelný kód. Navíc dnešní překladače už toho zvládnou optimalizovat docela hodně a kolikrát jim tyto pseudooptimalizace jen hází klacky pod nohy.
    Hello world ! Segmentation fault (core dumped)
    31.3.2014 19:51 gld17 | skóre: 4 | blog: GLDiuv_blog
    Rozbalit Rozbalit vše Re: C++: Error: Multiple definition of / first defined here
    Takze muzu pouzivat normal OOP s metodami a bude to stejne rychle, jako kdybych pouzival proceduralni programovani? Uz bych si rad udelal jasno v tom, jestli je proceduralni programovani vykonejsi.
    Josef Kufner avatar 31.3.2014 20:54 Josef Kufner | skóre: 67
    Rozbalit Rozbalit vše Re: C++: Error: Multiple definition of / first defined here
    Režii objektů považuj s klidem za zanedbatelnou. Až budeš dělat věci, kde na tom bude záležet, tak budeš vědět.

    Je lepší napsat slušný kód, který je o něco pomalejší, než neudržovatelnou zrůdu. Mnohem více výkonu se vyplýtvá na spoustě jiných věcí a pokud chceš rychlý kód, nauč se používat profiler. Ten ti řekne, kde to drhne a nebudeš se zdržovat blbostma.
    Hello world ! Segmentation fault (core dumped)
    Řešení 1× (gld17 (tazatel))
    Josef Kufner avatar 31.3.2014 19:26 Josef Kufner | skóre: 67
    Rozbalit Rozbalit vše Re: C++: Error: Multiple definition of / first defined here
    Protože v C++ se rozlišuje mezi deklarací a definicí. Proměnná může být deklarována vícekrát, ale definována jen jednou.

    Tedy v hlavičkovém souboru ponech
    GyroStruct {...}; // deklarace typu
    a přidej
    extern GyroStruct gyroVals; // deklarace, že symbol gyroVals existuje
    V právě jednom .cc pak budeš mít
    GyroStruct gyroVals; // definice, co symbol gyroVals znamená
    Nicméně tento přístup je z pohledu návrhu aplikace špatně a měl bys to udělat jinak.
    Hello world ! Segmentation fault (core dumped)
    31.3.2014 19:55 gld17 | skóre: 4 | blog: GLDiuv_blog
    Rozbalit Rozbalit vše Re: C++: Error: Multiple definition of / first defined here
    rozumim, to funguje. Dependency injection je v podstate to, co do nas vtloukali na stredni, ze nemame pouzivat globalni promenne ale delat navratove hodnoty u funkci? Ale kdyz vidim ted ty zdrojaky psane v Cecku, tak tam se tim vyvojari ocividne moc neridi a me to prijde prakticke i pro moji potrebu nyni u me aplikace, me by to taky zprehlednilo kod :D
    Josef Kufner avatar 31.3.2014 21:05 Josef Kufner | skóre: 67
    Rozbalit Rozbalit vše Re: C++: Error: Multiple definition of / first defined here
    Dependency injection je o tom, že se používající kód nestará o původ toho, co používá. Jen do sebe nechá nacpat vše, co potřebuje.

    Pokud uděláš správně zapouzdření jednotlivých částí programu (objektů), bude to ještě přehlednější než to máš teď.

    Polož si jednoduchou otázku: Co musím udělat, abych tuto komponentu mohl mít ve dvou instancích?

    Pokud je odpověď složitější než "Zavolám factory/konstruktor a napojím těhle pár propojek.", tak to máš blbě.
    Hello world ! Segmentation fault (core dumped)
    31.3.2014 20:19 axel
    Rozbalit Rozbalit vše Re: C++: Error: Multiple definition of / first defined here
    Ja jako v C++ moc neumim, akorat jsem se na stredni ucil v C.
    To je ovsem problem, na ktery budes narazet neustale. Doporucuju zacit knizkou o C a pokracovat knizkou o C++, jinak toho moc nenaprogramujes...

    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.