Using bzlib in C on macOS Catalina - "ld: symbol(s) not found for architecture x86_64", "clang: error: linker command failed with exit code 1"
Using bzlib in C on macOS Catalina - "ld: symbol(s) not found for architecture x86_64", "clang: error: linker command failed with exit code 1"
我正在尝试在 macOS Catalina 上编译 C 程序。该程序将使用 bzip2 解压缩。我的代码包括行
#include <bzlib.h>
我正在尝试调用函数 BZ2_bzBuffToBuffDecompress
。但是,当我 运行 gcc myfile.c -o myfile.c.o
时,出现以下错误:
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1
我只使用纯文本编辑器和 gcc,没有 IDE 也没有 CMake 文件。我怀疑我可能需要一个 CMake 文件,但我不确定如何继续。非常感谢任何帮助!
您需要 link 在 bzip 库中。 gcc myfile.c -o myfile -lbz2
。该命令假定 lib 已安装到标准位置。此外,您正在编译最终的可执行文件,因此(按照严格的约定)它不应该有 .o 后缀。
我正在尝试在 macOS Catalina 上编译 C 程序。该程序将使用 bzip2 解压缩。我的代码包括行
#include <bzlib.h>
我正在尝试调用函数 BZ2_bzBuffToBuffDecompress
。但是,当我 运行 gcc myfile.c -o myfile.c.o
时,出现以下错误:
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1
我只使用纯文本编辑器和 gcc,没有 IDE 也没有 CMake 文件。我怀疑我可能需要一个 CMake 文件,但我不确定如何继续。非常感谢任何帮助!
您需要 link 在 bzip 库中。 gcc myfile.c -o myfile -lbz2
。该命令假定 lib 已安装到标准位置。此外,您正在编译最终的可执行文件,因此(按照严格的约定)它不应该有 .o 后缀。