NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze: C KDevelop - #include "file.h" problem

V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
David Vlček
Člen
Avatar
David Vlček:18.10.2019 14:54

Ahoj.
Má někdo zkušenosti s KDevelop IDE? Snažím se udělat příklad z C - Dynamická práce s pamětí, ale při kompilaci mám chybu"

/home/david/pro­jects/KDevelop/C_prac­tice_evidence­Osob/main.c:26: undefined reference to `vytvor_osobu'

V editoru chyba není a s #include "seznam.h" reference funguje. Problém je až při kompilace.
Mám podezření na soubor CMakeList.txt:

cmake_minimum_re­quired(VERSION 3.0)

project(c_prac­tice_evidence­osob LANGUAGES C)

add_executable(c_prac­tice_evidence­osob main.c)

install(TARGETS c_practice_evi­denceosob RUNTIME DESTINATION bin)

ale nedaří se mi to rozlousknout. Snažim se to googlit, ale nějak mi to uniká :)

Zkusil jsem: přídávat do CMakeList.txt knihovny jako:

add_library(c_prac­tice_evidence­osob MODULE seznam.c)
add_library(c_prac­tice_evidence­osob STATIC seznam.c)
add_library(c_prac­tice_evidence­osob MODULE seznam.h)
atd...

Chci docílit: kompilovat a spustit program :)

Odpovědět
18.10.2019 14:54
Nevěřím, že každý dokáže všechno co chce. Věřím ale, že by to měl zkusit.
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na David Vlček
Martin Dráb:18.10.2019 18:53

Tahle chyba pochází až od linkeru, který úspěšně obdržel přeložené zdrojáky z jednotlivých souborů, ale nenašel v nich funkci vytvor_osobu. A jelikož ji někde z (přeloženého) kódu voláš, nedokáže výsledek překladu slinkovat do spustitelného souboru.

Víc neporadím, protože KDevelop ani cmake nepoužívám.

Nahoru Odpovědět
18.10.2019 18:53
2 + 2 = 5 for extremely large values of 2
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.