Я получаю следующую ошибку при компиляции, а функции, записанные как ошибки, являются #include modules
Undefined symbols for architecture x86_64:
"_setup_gps", referenced from:
_setupgps in cc5V40n0.o
"_gps_navigation", referenced from:
_setupgpsnavigation in cc5V40n0.o
ld: symbol(s) not found for architecture x86_64
Что это значит? Я думал, что это из-за дублирования основных функций, но я не вижу других основных функций, кроме этой
int main(int argc, char **argv)
{
nav_run_gps_system();
return 0;
}
Затем я создаю 2 потока, используя функции, указанные в журнале ошибок. Я положил их в оболочку, чтобы передать их в функцию создания потока Posix.
void *setupgps(void *ptr)
{
setup_gps(UNO,57600);
}
void *setupgpsnavigation(void *ptr)
{
struct point Destination = {-2,5742.307,1156.002};
gps_navigation(Destination);
}
gpsSetupThreadResult = pthread_create(&gpsSetupThread, NULL, setupgps, (void*) message2);
gpsNavigationThreadResult = pthread_create(&gpsNavigationThread, NULL, setupgpsnavigation, (void*) message3);