У меня есть файл заголовка
// Creates a new graph with n vertices and no edges
graph_t *graph_create(int n);
Файл .c
graph_t *graph_create(int n)
{
graph_t *g;
int i;
//g = malloc(sizeof(graph_t));
g->V = n;
g->E = 0;
return g;
}
Так выглядит мой CMakeLists.txt
cmake_minimum_required(VERSION 3.3)
project(Thesis)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp graph.h graph.c shared.h)
add_executable(Thesis ${SOURCE_FILES})
Я вызываю graph_t *g = graph_create(15);
из main.cpp
и получаю следующую ошибку о том, что метод не определен:
"C: \ Program Files (x86) \ JetBrains \ CLion 1.2.4 \ bin \ cmake \ bin \ cmake.exe" - build C: \ Users \ Shiro.CLion12 \ system \ cmake \ generated \ 6e6ca233 \ 6e6ca233 \ Debug --target Thesis - -j 8 Сканирование зависимостей целевой Thesis [66%] Построение CXX-объекта CMakeFiles / Thesis.dir / main.cpp.obj [66%] Построение C-объекта CMakeFiles / Thesis.dir / graph.c.obj [100%] Связывание исполняемого файла CXX Thesis.exe CMakeFiles \ Thesis.dir / objects.a (main.cpp.obj): в функции
main': C:/Users/Shiro/ClionProjects/Thesis/main.cpp:7: undefined reference to
graph_create (int) 'collect2.exe: error: ld вернул 1 статус выхода CMakeFiles \ Thesis.dir \ build.make: 121: рецепт цели 'Thesis.exe' не удалось mingw32-make.exe [3]: [Thesis.exe] Ошибка 1 CMakeFiles \ Makefile2: 66: рецепт цели 'CMakeFiles / Thesis.dir / all' сбой CMakeFiles \ Makefile2: 78: рецепт для целевого файла 'CMakeFiles / Thesis.dir / rule' сбой Makefile: 117: рецепт для целевого 'Thesis' сбой mingw32-make.exe [2]: [CMakeFiles / Thesis.dir / all] Ошибка 2 mingw32-make.exe [1]: [CMakeFiles / Thesis.dir / rule] Ошибка 2 mingw32-make.exe: [Thesis] Er рор 2
Что я делаю неправильно ?