我有 3 个文件:
tester.c
, knnring_sequential.c
, knnring.h
.
我按以下顺序编译它们:
gcc-7 -c knnring_sequential.c -o knnring_sequential.o
ar rcs knnring_sequential.a knnring_sequential.o
gcc-7 -o tester tester.c knnring_sequential.a
当我尝试与 gcc-7 链接时,我收到以下错误消息:
Undefined symbols for architecture x86_64:
"___asan_init", referenced from:
__GLOBAL__sub_I_00099_0_knnring_sequential.c in knnring_sequential.a(knnring_sequential.o)
"___asan_report_load4", referenced from:
_insert in knnring_sequential.a(knnring_sequential.o)
_quickSelect in knnring_sequential.a(knnring_sequential.o)
_quickSort in knnring_sequential.a(knnring_sequential.o)
_kNN in knnring_sequential.a(knnring_sequential.o)
"___asan_report_load8", referenced from:
_insert in knnring_sequential.a(knnring_sequential.o)
_quickSelect in knnring_sequential.a(knnring_sequential.o)
_quickSort in knnring_sequential.a(knnring_sequential.o)
_compute_distances in knnring_sequential.a(knnring_sequential.o)
_kNN in knnring_sequential.a(knnring_sequential.o)
"___asan_report_load_n", referenced from:
_kNN in knnring_sequential.a(knnring_sequential.o)
"___asan_report_store4", referenced from:
_insert in knnring_sequential.a(knnring_sequential.o)
_kNN in knnring_sequential.a(knnring_sequential.o)
"___asan_report_store8", referenced from:
_insert in knnring_sequential.a(knnring_sequential.o)
_compute_distances in knnring_sequential.a(knnring_sequential.o)
_kNN in knnring_sequential.a(knnring_sequential.o)
"___asan_version_mismatch_check_v8", referenced from:
__GLOBAL__sub_I_00099_0_knnring_sequential.c in knnring_sequential.a(knnring_sequential.o)
代码可以在这里找到https://github.com/alextsigilis/knnring/blob/master/src/knnring_sequential.c
怎么了?