1

我有 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

怎么了?

4

0 回答 0