符号查找错误:未定义的符号atexit(linux/C)

符号查找错误:未定义的符号atexit(linux/C),c,linux,shared-libraries,C,Linux,Shared Libraries,当我试图运行我的程序时,我得到了错误符号查找错误:未定义的符号atexit(linux/C)atexit()应在中定义 当我用gcc编译-l选项时,有什么可以添加的吗?或者我还能做什么?这是C 我试图编写一个共享对象,在其中调用一次atexit。我还定义了相应的函数 在编译之后,当我尝试执行它时,我没有得到错误 我使用命令()构建共享库: 已解决:它使用了g++而不是gcc该函数称为atexit,而不是atexit该函数称为atexit,notAtexit您能粘贴代码和错误消息吗?/bin/ls

当我试图运行我的程序时,我得到了错误
符号查找错误:未定义的符号atexit(linux/C)
<代码>atexit()应在
中定义

当我用gcc编译
-l
选项时,有什么可以添加的吗?或者我还能做什么?这是C

我试图编写一个共享对象,在其中调用一次
atexit
。我还定义了相应的函数

在编译之后,当我尝试执行它时,我没有得到错误

我使用命令()构建共享库:


已解决:它使用了
g++
而不是
gcc

该函数称为
atexit
,而不是
atexit

该函数称为
atexit
,not
Atexit

您能粘贴代码和错误消息吗?/bin/ls:符号查找错误:./mymal.so:未定义符号:atexit@Bry:请使用该错误消息编辑原始问题。另外,这是C++还是C?代码非常复杂,我确信它在这里没有帮助。我只是调用atexit并定义相应的函数。我包括了所有必需的库,但不知为什么找不到符号atexit。但是当我编译它的时候,当我试图执行它的时候,并没有错误it@bry:运行ldd program_name检查是否找到所有必需的库。是否可以粘贴代码和错误消息?/bin/ls:符号查找错误:./mymal.so:未定义符号:atexit@Bry:请使用该错误消息编辑原始问题。另外,这是C++还是C?代码非常复杂,我确信它在这里没有帮助。我只是调用atexit并定义相应的函数。我包括了所有必需的库,但不知为什么找不到符号atexit。但是当我编译它的时候,当我试图执行它的时候,并没有错误it@bry:运行ldd program_name检查是否找到所有必需的库。
$ LD_PRELOAD=mymal.so /bin/ls 
/bin/ls: symbol lookup error: ./mymal.so: undefined symbol: atexit
gcc -fPIC -c -ldl mymal.c
ld -shared -soname mymal.so.1 -o mymal.so -lc mymal.o