Компоновщик esp-idf выдает неопределенную ссылку на Task1C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Компоновщик esp-idf выдает неопределенную ссылку на Task1

Сообщение Anonymous »

У меня возникла проблема с компоновщиком в моем проекте: файл, в котором определена функция/задача, скомпилирован, но компоновщик по какой-то причине не использует его, создавая исполняемый файл. У меня есть 3 файла app_main.c, Task1.cc и Task2.cc в каталоге src, а мой main/CMakeList.txt имеет SRC "./src/app_main.c" "./src/Task1.cc" "./src/ Task2.cc", и в обоих заголовочных файлах, связанных с реализацией cpp, я добавил #ifdef __cplusplus
extern "C" {
#endif
для объявления прототипов реализации, которую я хочу вызвать извне. Эта проблема возникает только с определениями в файле Task2.cc, но не с файлом Task1.cc.
Я попробовал переместить объявление Task2 в файл Task1.h, и компоновщик перестал жаловаться на этот случай. Обратите внимание, что оба заголовка включены в файл app_main.c, оба заголовка имеют разные защиты заголовков, и я сравнил и скопировал содержимое из Task1.h в Task2.h, и связывание снова не удалось. Понятия не имею, почему.
РЕДАКТИРОВАТЬ: Вот пример кода
Заголовок файлаВызов функции InitLinker ErrorРеализация функции

Подробнее здесь: https://stackoverflow.com/questions/793 ... e-to-task1
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»