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 04:33 | Nová verze

    Linus Torvalds vydal jádro Linux 6.19. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).

    |🇵🇸 | Komentářů: 0
    včera 03:33 | IT novinky

    Do prodeje jde tichá bezdrátová herní myš Logitech PRO X2 SUPERSTRIKE s analogovými spínači s haptickou odezvou (HITS, Haptic Inductive Trigger System). Cena je 4 459 Kč.

    Ladislav Hagara | Komentářů: 4
    7.2. 21:00 | Zajímavý projekt

    Microsoft na GitHubu zveřejnil zdrojový kód projektu LiteBox, jedná se o 'knihovní operační systém' (library OS) zaměřený na bezpečnost, využívající systémovou architekturu LVBS k ochraně jádra před útoky z uživatelského prostoru. LiteBox je napsán v Rustu a uvolněný pod licencí MIT. Projekt je teprve v rané fázi vývoje.

    NUKE GAZA! 🎆 | Komentářů: 1
    7.2. 16:11 | Zajímavý software

    BreezyBox je open-source shell a virtuální terminál pro populární jednočip ESP32. Nabízí základní unixové příkazy, sledování aktuálního pracovního adresáře (CWD), jednoduchý instalátor a spouštěč aplikací v podobě ELF binárních souborů, zabudovaný HTTP server nebo třeba ovládání WiFi - ukázka použití coby 'malého osobního počítače'. Ačkoliv je BreezyBox inspirovaný BusyBoxem, oproti němu má tento projekt několik externích závislostí, zejména na ESP-IDF SDK. BreezyBox je dostupný pod licencí MIT.

    NUKE GAZA! 🎆 | Komentářů: 0
    7.2. 16:00 | Humor

    Byl představen cross-assembler xa.sh, napsaný čistě v Bourne shell skriptu. Tento nástroj umožňuje zpracovávat assemblerový kód pro Intel 8080, přičemž je možné snadno přidat podporu i pro další architektury, například 6502 a 6809. Skript využívá pouze různé běžné unixové příkazy jako jsou awk, sed nebo printf. Skript si lze stáhnout z GitHubového repozitáře projektu.

    NUKE GAZA! 🎆 | Komentářů: 6
    6.2. 17:22 | IT novinky

    Byla představena nová verze modelu Claude Opus 4.6 od společnosti Anthropic. Jako demonstraci možností Anthropic využil 16 agentů Claude Opus 4.6 k vytvoření kompilátoru jazyka C, napsaného v programovacím jazyce Rust. Claude pracoval téměř autonomně, projekt trval zhruba dva týdny a náklady činily přibližně 20 000 dolarů. Výsledkem je fungující kompilátor o 100 000 řádcích kódu, jehož zdrojový kód je volně dostupný na GitHubu pod licencí Creative Commons.

    NUKE GAZA! 🎆 | Komentářů: 18
    6.2. 16:44 | Komunita

    Kultovní britský seriál The IT Crowd (Ajťáci) oslavil dvacáté výročí svého prvního vysílání. Sitcom o dvou sociálně nemotorných pracovnících a jejich nadřízené zaujal diváky svým humorem a ikonickými hláškami. Seriál, který debutoval v roce 2006, si i po dvou dekádách udržuje silnou fanouškovskou základnu a pravidelně se objevuje v seznamech nejlepších komedií své doby. Nedávné zatčení autora seriálu Grahama Linehana za hatecrime však vyvolává otázku, jestli by tento sitcom v současné Velké Británii vůbec vznikl.

    NUKE GAZA! 🎆 | Komentářů: 10
    6.2. 13:33 | IT novinky

    Společnost JetBrains oznámila, že počínaje verzí 2026.1 budou IDE založená na IntelliJ ve výchozím nastavení používat Wayland.

    Ladislav Hagara | Komentářů: 4
    6.2. 11:22 | IT novinky

    Společnost SpaceX amerického miliardáře Elona Muska podala žádost o vypuštění jednoho milionu satelitů na oběžnou dráhu kolem Země, odkud by pomohly zajistit provoz umělé inteligence (AI) a zároveň šetřily pozemské zdroje. Zatím se ale neví, kdy by se tak mělo stát. V žádosti Federální komisi pro spoje (FCC) se píše, že orbitální datová centra jsou nejúspornějším a energeticky nejúčinnějším způsobem, jak uspokojit rostoucí poptávku po

    … více »
    Ladislav Hagara | Komentářů: 28
    6.2. 11:11 | Nová verze

    Byla vydána nová verze 2.53.0 distribuovaného systému správy verzí Git. Přispělo 70 vývojářů, z toho 21 nových. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (10%)
     (26%)
     (3%)
     (4%)
     (2%)
     (12%)
     (29%)
    Celkem 810 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Kompilace Qt app, první díl seriálu

    20.6.2013 16:43 Adam Lasák
    Kompilace Qt app, první díl seriálu
    Přečteno: 341×
    Dobrý den, Základní problém, reinstaloval jsem si Ubuntu, nyní mám verzi 12.04. Začal jsem programovat v knihovně Qt, napsal jsem kód, který je zde uveden (nějaký check box, label, ...) no a jak jsem začal kopmilovat pomocí make (makefile už je, tj. qmake -project, qmake) vypsalo mi to následující chybu:

    g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o hello_world.o hello_world/hello_world.cpp g++ -m64 -Wl,-O1 -o qt hello_world.o main.o -L/usr/lib/x86_64-linux-gnu -lQtGui -lQtCore -lpthread main.o: In function `trida_check::trida_check(QWidget*)': main.cpp:(.text+0x0): multiple definition of `trida_check::trida_check(QWidget*)' hello_world.o:hello_world.cpp:(.text+0x0): first defined here main.o: In function `main': main.cpp:(.text.startup+0x0): multiple definition of `main' hello_world.o:hello_world.cpp:(.text.startup+0x0): first defined here main.o: In function `trida_check::trida_check(QWidget*)': main.cpp:(.text+0x0): multiple definition of `trida_check::trida_check(QWidget*)' hello_world.o:hello_world.cpp:(.text+0x0): first defined here collect2: ld returned 1 exit status make: *** [qt] Error 1

    Vím jen že, jak jsem před reinstalováním systému tenhle program (kód uveden níže) kopmiloval, vše pracovalo v klidu. Problém je zjevně na straně nějakých chybějících modulů tušim. Koukal jsem na nějaké anj poradny, stahoval jsem balíčky co tam doporučovali stáhnout a stálě nic, opravdu si už nevím rady. Jinak to že u hlaviček nejsou šipky si nevšímejte, nechtělo mi to sem povolit...
    #include QApplication
    #include QPushButton
    #include QLabel
    #include QHBoxLayout //slouží k zarovnání prvků, snažší než zadávat souřadnice
    #include QCheckBox
    
    class trida_check : public QWidget
    {
    	public:
    		/* 
    		 * Jako argument konstruktoru se předává rodič,
    		 * v případě že se jedná o hlavní okno tak žádný
    		 * rodič, v našem případě 0
    		*/
    		trida_check(QWidget* parent = 0);
    };
    
    trida_check::trida_check(QWidget*){
    	QHBoxLayout* radek = new QHBoxLayout(this);
    	QPushButton* tlacitko = new QPushButton(tr("Check this motherfucker!"));
    	QCheckBox* zaskrtavaci_pole = new QCheckBox();
    	
    	//tlačítko lze zamáčknout
    	tlacitko->setCheckable(true);
    	
    	//propojí objekty, třetí parametr je ukazatel na instanci objektu Qt, jehož slot se má spustit v reakci na signál.
    	connect(tlacitko, SIGNAL(clicked()), zaskrtavaci_pole, SLOT(toogle()));
    	connect(zaskrtavaci_pole, SIGNAL(clicked()), tlacitko, SLOT(toogle()));
    	
    	//přidá do lajny naše objekty
    	radek->addWidget(tlacitko);
    	radek->addWidget(zaskrtavaci_pole);
    	
    	//použije daný řádek (layout)
    	setLayout(radek);
    }
    
    int main(int argc, char** argv)
    {
    	//instance třídy Qapplication, předávají se argumenty shellu, musí být v každém GUI programu
    	QApplication app(argc, argv);
    	
    	QLabel win("Hello fucking world!"); //instance popisku
    	QPushButton tlacitko("&Quit"); //instance buttonou
    	
    	//qApp, ukazatel na třídu QApplication, connect, přetížená metoda na propojení třídy qApp a buttonu
    	//QObject:: se pak může i vynechat z důvodu častého výskytu
    	QObject::connect(&tlacitko, SIGNAL(clicked()), qApp, SLOT(quit()));
    	/*
    	 * Signál je zvláštní metoda, která nemá tělo a nevrací hodnotu, má pouze prototyp. 
    	 * Slot je metoda, která se zavolá v reakci na nějaký signál
    	 */
    	
    	trida_check objekt;
    
    	//zobrazení okna, pzn...nečekaně
    	tlacitko.show();
    	win.show();
    	
    	return app.exec(); //vracení výsledku metody app
    }
    
    

    Řešení dotazu:


    Odpovědi

    Řešení 1× (Luboš Doležel (Doli))
    20.6.2013 17:20 potato
    Rozbalit Rozbalit vše Re: Kompilace Qt app, první díl seriálu
    Slinkováváš dohromady main.o a helo_world.o, což jsou podle všecho objektové soubory dvou samostatných programů, takže není divu, že je pak main() (a kdeco dalšího) definováno dvakrát.
    20.6.2013 18:02 Adam Lasák
    Rozbalit Rozbalit vše Re: Kompilace Qt app, první díl seriálu
    Jéééjda, taková cipovina!! Dík moc.

    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.