@e686702

Как подключать с помощью директивы include?

При компиляции cmake вылезает ошибка undefined reference void foo()
..
add_executable(main main.cpp);
..


main.cpp
#include "foo.h"

int main() {
  foo();
  return 0;
}


foo.h
#pragma once
void foo();


foo.cpp
#include "foo.h"
void foo() {
  //do nothing
}


Как правильно подключать?
  • Вопрос задан
  • 2364 просмотра
Пригласить эксперта
Ответы на вопрос 3
@hiloader
Ваша проблема в том, что вы не компилируете и не линкуете модуль foo.cpp в свое приложение.
add_executable(main main.cpp foo.cpp);
Ответ написан
donkaban
@donkaban
Умею рисовать тени
1. Если не брать внеязыковых средств типа moc процесс выглядит так - препроцессирование, компиляция, линковка.
2. Да, вам придется компилировать все, что необходимо скомпилировать
3. Включая хедер в код вы именно включаете кусок текста, не более.
Ответ написан
Комментировать
AxisPod
@AxisPod
Возьмите какую-нить книгу для начинающих и почитайте для начала. Ну или на худой конец воспользоваться поисковиком видимо не судьба. При этом если использовать поисковик, то адекватный ответ можно получить гораздо быстрее.

www.firststeps.ru/linux/r.php?1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы