我无法与gcc-7链接
我有3个文件:我无法与gcc-7链接,c,gcc,compiler-errors,linker,gcc7,C,Gcc,Compiler Errors,Linker,Gcc7,我有3个文件: tester.c,knring\u sequential.c,knring.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
tester.c
,knring\u sequential.c
,knring.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)
代码可以在这里找到
怎么了?你用的是Mac电脑吗?无论您是否是,GCC的ASAN(地址消毒器)部分的问题似乎是缺少库或库不完整。您从哪里获得的
gcc-7
?您是否能够编译并链接任何其他代码?你确定已经显示了你使用的所有选项吗?(如果是这样的话,你为什么不使用-Wall-Wextra-Werror
?它们有助于防止很多问题。)你在Mac上吗?无论您是否是,GCC的ASAN(地址消毒器)部分的问题似乎是缺少库或库不完整。您从哪里获得的gcc-7
?您是否能够编译并链接任何其他代码?你确定已经显示了你使用的所有选项吗?(如果是这样,为什么不使用-Wall-Wextra-Werror
?它们有助于防止许多问题。)