Cloud9 C Встроенная ОСРВ «В функции« main »: неопределенная ссылка на функцию» - PullRequest
0 голосов
/ 12 января 2019

Хорошо, я создаю ОСРВ для проекта.
Я пытался выяснить хорошую структуру для файлов, но я не уверен, как бы я хотел поделиться ресурсами, такими как двусвязные списки, которые лежат в основе.
Сначала я выбрал AWS Cloud9, потому что хотел использовать функцию совместной работы.

В настоящее время у меня есть эти файлы:

kernel.h
doubly_linked_list.h
doubly_linked_list.c
communication.h
communication.c
timing.h
timing.c
task_admin.h
task_admin.c
context.c

У меня есть int main () в context.c, и я включаю все остальные .h файлы, но получаю эти ошибки, хотя и "неопределенная ссылка" на функции, когда пытаюсь их вызвать. Я провел лучшую часть ночи, пытаясь найти решение, читая что-то вроде соединения, объединения и построения.

Дело в том, что я могу запустить, если разбью весь код в одном файле, но это похоже на плохой дизайн.

Как сохранить основной файл в другом файле, а не в двусвязном списке? (кажется, что это работает, или сделал на днях ..)

Я экспериментировал с меньшим проектом, который имеет:

context.c
test.h
test.c

и использование:

gcc -Wall context.c test.c -o myoutput  

Затем я попытался запустить 'myoutput', но все равно получаю ошибки, почему?

Running /home/ec2-user/environment/DST2Project/RTOS_Test/context.c
/tmp/cco1x3LW.o: In function `main':
context.c:(.text+0x15): undefined reference to `test'
context.c:(.text+0x1f): undefined reference to `test'
collect2: error: ld returned 1 exit status
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...