Přijďte si zasprintovat na Djangu, jiném Python open-source projektu, nebo jen potkat ostatní vývojáře!
… více »Letos v říjnu se v Praze uskuteční hned několik konferencí. Odehraje se zde nově vzniklá konference LinuxDays. K ní se přidá čtvrtý ročník openSUSE Conference, dvanáctý ročník SUSE Labs conference a aby to nebylo málo, přidá se i první ročník Gentoo miniconf. A to vše ve stejné dny a na stejném místě.
… více »Někteří možná zaregistrovali, že jsem nedávno hledal program na postupné odkrývání obrázku. No nenašel jsem, takže jsem byl rozhodnut, že něco spíchnu. Jenže protože termín byl šibeniční udělal jsem to v Lazarovi vše natrvdo a to mě vedlo k tomu, že si to udělám po matuře pořádně a v Qt.
Co to umí:
Git repozitář
git clone git://git.yavanna.cz/imageguess.git
Snapshot (v zipu)
http://git.yavanna.cz/?p=imageguess.git&a=snapshot&h=7c273ab575a5bc4c65040eb46ad754f4d9b1a146
Binárka pro windows v prvním komentáři.
Své názory vyjadřujte v komentáři. Díky! Zvláště by mě zajímalo jak se řeší v Qt projektech make install a překlady (aby aplikace byla v /usr/bin a překlady v /usr/share/...)
Tiskni
Sdílej:
A tady binárka pro windows (dala docela zabrat, protože se mi nepodařilo přesvědčit QtCreator aby vytvořil statický build).
Zvláště by mě zajímalo jak se řeší v Qt projektech make install a překlady (aby aplikace byla v /usr/bin a překlady v /usr/share/...)Doporučuju cmake.
CMakeLists.txt soubory pro projekt, případně s drobným komentářem. Akorát v nich zatím nejsou instalační příkazy, k těm se teprve dostanu, ale co jsem koukal do dokumentace, mělo by to jít.
Za takový příklad, s komentáři, bych byl také vděčen!
cmake_minimum_required(VERSION 2.6.0) #minimalni verze cmake
project(jmeno) #jmeno projektu, užitečné k specifikovaní (pod)adresářů u includes, libs apod
#pakliže budete jméno měnit, změntě i v dalších proměnných níže...
# --- Setup QT4 ---
find_package(Qt4 REQUIRED) #vyhledá a přidá Qt4 cmake modul. REQUIRED znamená, že
#pokud není nalezen, nedá se pokračovat v sestavení
include(${QT_USE_FILE}) #cmake funkce Qt
# --- Sources --- #seznam zdrojáků .cpp Na prvnim řádku je jméno
set(jmeno_sources #seznamu - v tomto pripade jmeno_sources
main.cpp
okno.cpp
)
# --- Headers to be MOCed --- #seznam .h, které vyžadují Qt MOC - tzn. všeobecně ty,
set(jmeno_moc #které obsahují Q_OBJECT, sloty a signály
okno.h
)
# --- Qt UI files --- #seznam ui souborů
set(jmeno_uis
okno.ui
)
# --- Setup MOC and UI ---
qt4_wrap_cpp(jmeno_sources ${si_keys_moc})
qt4_wrap_ui(jmeno_uiceds ${jmeno_uis})
include_directories(${CMAKE_CURRENT_BINARY_DIR}) #kvůli výstupním .h co vylezou z uic
# --- Include and Libs search dirs ---
#zde se daj přidat případné další adresáře pro hledání includes a knihoven
#cesty se specifikují pomocí různých proměnných, nejužitečnější jsou hlavně:
# ${CMAKE_CURRENT_SOURCE_DIR} --zdrojový adresář, kde je umístěn TENTO CMakeLists.txt
# ${jmeno_SOURCE_DIR} --zdrojový adresář tam, kde byl deklarován projekt s názve "jmeno",
# čili tam, kde je umístěn CMakeLists.txt, ve kterém je makro project(jmeno),
# (což je v tomto případě stejné jako ${CMAKE_CURRENT_SOURCE_DIR}, ale nemuselo by)
# případně se dá slovo SOURCE zaměnit za BINARY, což je na stejném místě, akorát v cílovém stromu sestavení
# případně se dá najít v dokumentaci množství dalších proměnných pro cesty
#include_directories()
#link_directories()
# ↑ nezapomenout odkomentovat při použití
# --- Configure Libs ---
#set(jmeno_libs ${jmeno_libs} ...) # tím se dají přidat další knihovny pro linkování
# --- Executable & Link ---
add_executable(jmeno-binarky ${jmeno_sources} ${jmeno_uiceds})
target_link_libraries(jmeno-binarky ${QT_LIBRARIES} ${jmeno_libs})
# ↑ závěrečná makra pro určení výstupní binárky(/binárek) a určení, ke které patří které
# zdroojáky a které knihovny
# Pokud sestavujete knihovnu, použijete add_library() místo add_executable()

add_subdirectory()...
No, tady na ábíčku jeden jeCmake: zjednoduš si život