未定义的函数引用,ld返回1退出状态

时间:2013-12-09 07:22:36

标签: c function netbeans reference undefined

我一直在尝试编译时遇到这些错误,我查找的所有解决方案都告诉我它的链接器问题但是我找不到修复它的方法,我创建了一个较小的程序来尝试找出这就是我所拥有的。

的main.c

#include "lib/navigation.h"
#include <stdio.h>
#include <stdlib.h>

location newLocation;
double a;
int main(void) {

newLocation.lat=51.2;
newLocation.lng=-5;

 a=great_circle(newLocation,newLocation);
 printf("%f", a);

return (EXIT_SUCCESS);
}

navigation.h

#ifndef NAVIGATION_H
#define NAVIGATION_H

typedef struct {
double lat;
double lng;
} location;

double great_circle(location location_1, location location_2);

#ifdef  __cplusplus
extern "C" {
#endif
#ifdef  __cplusplus
}
#endif

#endif  /* NAVIGATION_H */

我正在尝试使用我使用netBeans链接到navigation.a文件的great_circle函数,但这是我在编译时得到的错误:

gcc     -o dist/Debug/Cygwin_4.x-Windows/ship_project build/Debug/Cygwin_4.x-Windows/main.o lib/libnavigation_32bit.a -lm
build/Debug/Cygwin_4.x-Windows/main.o: In function `main':
/cygdrive/c/Users/Random Guy A/Documents/NetBeansProjects/Ship Project/main.c:19: undefined reference to `great_circle'
collect2: error: ld returned 1 exit status

任何人都可以帮助我吗?提前谢谢你。

0 个答案:

没有答案