Stáhnul jsem si zdroj programu a struktura vypadá následovně:
Složky: cmake, res, src (v ní dále pouze soubory .cpp a .h), test
Soubor: CMakeLists.txt
V jakém IDE si toto otevřít abych mohl program různě krokovat a pochopit jak interně pracuje? Chybí mi tam nějaký "centrální" soubor, který by šlo spojoval do jednoho logického celku (ve Visual Studiu, které je mi blízké, se jedná třeba o .sln nebo .csproj)
Možná se řídit tím Cmakem? Podívej se do něj, nebo třeba grepem zkusit najít main v souborech?
CMake sestavuje program. Program jako takový nemusí být vůbec vázaný na IDE.
Citace od: lv kdy 06. 11. 2017, 12:09:31
Stáhnul jsem si zdroj programu a struktura vypadá následovně:
Složky: cmake, res, src (v ní dále pouze soubory .cpp a .h), test
Soubor: CMakeLists.txt
V jakém IDE si toto otevřít abych mohl program různě krokovat a pochopit jak interně pracuje? Chybí mi tam nějaký "centrální" soubor, který by šlo spojoval do jednoho logického celku (ve Visual Studiu, které je mi blízké, se jedná třeba o .sln nebo .csproj)
Účel není program sestavit (binární podoba je ke stažení stejně jako zdroj). Jde mi o IDE proto, abych viděl jak spuštěný program po zdrojácích postupuje a jaká data tam putují.
Zkusil jsem stáhnout Code::Blocks a ten třeba vyžaduje přítomnost .cbp. Tady u toho nic takového není.
Citace od: lv kdy 06. 11. 2017, 12:42:26
Účel není program sestavit (binární podoba je ke stažení stejně jako zdroj). Jde mi o IDE proto, abych viděl jak spuštěný program po zdrojácích postupuje a jaká data tam putují.
Zkusil jsem stáhnout Code::Blocks a ten třeba vyžaduje přítomnost .cbp. Tady u toho nic takového není.
pro debugování musíte ten program nejdřív sestavit s debugovacími symboly. V CMakeLists.txt by měl být řádek
set(CMAKE_BUILD_TYPE Debug)
program sestavíte
cmake cesta_k_CMakeLists.txt
make
potom můžete spustit gdb
gdb --fullname nazev_binarky
o grafických nadstavbách gdb tu vyšel článek.
https://www.root.cz/clanky/graficka-nadstavba-nad-gnu-debuggerem-gdbgui-a-jeji-alternativy/
cmakelists.txt umí relativně solidně číst třeba Qt Creator
Sparsovat CMake dokaze KDevelop, ktore si potom vytvori vlastny projektovy subor.
taktiez to ma nejaky debugovaci mod, ale nikdy som ho osobne nepouzil.
Citace od: Cikáda kdy 06. 11. 2017, 12:28:09
Možná se řídit tím Cmakem? Podívej se do něj, nebo třeba grepem zkusit najít main v souborech?
Vím, kde je main, ale jak mi to pomůže? Když otevřu tento soubor samotný např. v NetBeans, tlačítko "Run project" je šedivé. Nevím jak donutit NetBeans, či jakýkoliv jiný program, aby všechny soubory otevřel jako jeden celek který by šlo spustit.
Takové soubory obvykle otvírám ve Vimu.
Citace od: lv kdy 06. 11. 2017, 13:00:35
Citace od: Cikáda kdy 06. 11. 2017, 12:28:09
Možná se řídit tím Cmakem? Podívej se do něj, nebo třeba grepem zkusit najít main v souborech?
Vím, kde je main, ale jak mi to pomůže? Když otevřu tento soubor samotný např. v NetBeans, tlačítko "Run project" je šedivé. Nevím jak donutit NetBeans, či jakýkoliv jiný program, aby všechny soubory otevřel jako jeden celek který by šlo spustit.
nepotřebujete otevřít všechny soubory.
cmake umí vygenerovat projekt soubor pro codeblock https://cmake.org/cmake/help/v3.0/generator/CodeBlocks.html
Citace od: Kit kdy 06. 11. 2017, 13:02:07
Takové soubory obvykle otvírám ve Vimu.
Vim bez pluginu s neumí s cmake pracovat.
Citace od: gll kdy 06. 11. 2017, 13:05:45
Citace od: Kit kdy 06. 11. 2017, 13:02:07
Takové soubory obvykle otvírám ve Vimu.
Vim bez pluginu s neumí s cmake pracovat.
To je vtip?
Holt si budeš muset ten projekt v IDE nakonfigurovat ručně...
CMake umí generovat i *.sln pro Visual Studio.
Použi https://www.jetbrains.com/clion/ otvoríš projekt vybratím súboru cmakelist a o všetko ostatné sa Ti už postará IDE ;)
Díky všem kteří pomohli. Nakonec se jako nejjednodušší ukázal Qt Creator.
Citace od: lv kdy 06. 11. 2017, 12:09:31
Stáhnul jsem si zdroj programu a struktura vypadá následovně:
Složky: cmake, res, src (v ní dále pouze soubory .cpp a .h), test
Soubor: CMakeLists.txt
V jakém IDE si toto otevřít abych mohl program různě krokovat a pochopit jak interně pracuje? Chybí mi tam nějaký "centrální" soubor, který by šlo spojoval do jednoho logického celku (ve Visual Studiu, které je mi blízké, se jedná třeba o .sln nebo .csproj)
Vsak to otevres i v tom Visual Studiu: Open->Folder (ten s CMakeLists), VS to pochopi.
Ja pouzivam Visual Studio:
Napr. pro build s oddelenim build souboru:
1. mkdir build
2. cd build
3. cmake -G "Visual Studio 14 Win64" ..
Teda že zrovna na rootu budou lidi C++ otevírat ve Visual Studiu, to jsem fakt nečekal...