'illegal option -- U' when 运行 来自 Makefile 编译 C 代码的 ar 命令
'illegal option -- U' when running the ar command from a Makefile compiling C code
我正在 运行ning macOS X Catalina 并尝试 运行 'Make' 文件,但它告诉我以下内容:
(base) charliesharpe@MacBook-Pro alterbbn_v2.2 % make
AlterBBN v2.2 - A. Arbey, J. Auffinger, K. Hickerson, E. Jenssen 2019
make -C src/ libbbn.a
gcc -c -O3 -pipe -fomit-frame-pointer -mtune=native -ffast-math -fno-finite-math-only -fopenmp general.c
ar rcsU libbbn.a general.o; rm general.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar: illegal option -- U
usage: ar -d [-TLsv] archive file ...
ar -m [-TLsv] archive file ...
ar -m [-abiTLsv] position archive file ...
ar -p [-TLsv] archive [file ...]
ar -q [-cTLsv] archive file ...
ar -r [-cuTLsv] archive file ...
ar -r [-abciuTLsv] position archive file ...
ar -t [-TLsv] archive [file ...]
ar -x [-ouTLsv] archive [file ...]
这是什么意思?
我对 C 还很陌生,所以我对它不太有信心,所以解决这个问题越详细越好。我有 Xcode 12.3 并使用 Macports 版本的 gcc。
这与 make
没有任何关系。 Makefile
将 U
选项用于 ar
,而 macOS 使用的 BSD ar
不支持该选项。您可以从 Makefile
中删除 U
选项而不影响最终程序,尽管通常处理这些类型的选项是 Makefile 生成工具(如 CMake 或 autotools)的工作。
我正在 运行ning macOS X Catalina 并尝试 运行 'Make' 文件,但它告诉我以下内容:
(base) charliesharpe@MacBook-Pro alterbbn_v2.2 % make
AlterBBN v2.2 - A. Arbey, J. Auffinger, K. Hickerson, E. Jenssen 2019
make -C src/ libbbn.a
gcc -c -O3 -pipe -fomit-frame-pointer -mtune=native -ffast-math -fno-finite-math-only -fopenmp general.c
ar rcsU libbbn.a general.o; rm general.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar: illegal option -- U
usage: ar -d [-TLsv] archive file ...
ar -m [-TLsv] archive file ...
ar -m [-abiTLsv] position archive file ...
ar -p [-TLsv] archive [file ...]
ar -q [-cTLsv] archive file ...
ar -r [-cuTLsv] archive file ...
ar -r [-abciuTLsv] position archive file ...
ar -t [-TLsv] archive [file ...]
ar -x [-ouTLsv] archive [file ...]
这是什么意思?
我对 C 还很陌生,所以我对它不太有信心,所以解决这个问题越详细越好。我有 Xcode 12.3 并使用 Macports 版本的 gcc。
这与 make
没有任何关系。 Makefile
将 U
选项用于 ar
,而 macOS 使用的 BSD ar
不支持该选项。您可以从 Makefile
中删除 U
选项而不影响最终程序,尽管通常处理这些类型的选项是 Makefile 生成工具(如 CMake 或 autotools)的工作。