簡體   English   中英

make 命令在 MacOS Big Sur 上不起作用 - 11.5.2

[英]make command does not work on MacOS Big Sur - 11.5.2

我正在嘗試在 Swift 項目中使用 C 庫的示例。 下面是參考鏈接

https://medium.com/bumble-tech/bundling-c-library-in-swift-framework-3d9dae950774

C 庫文件鏈接https://sourceforge.net/projects/giflib/files/

按照教程鏈接中的說明,解壓縮代碼並通過終端轉到文件夾並使用 make 命令,它不起作用。我正在嘗試在 MAC os Big Sur 上執行此操作。 下面是錯誤

**ABC-MacBook-Pro:giflib-5.2.1 abc$ make**

cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2 -shared  -Wl,-install_name -Wl,libutil.so.7 -o libutil.so qprintf.o quantize.o getarg.o

Undefined symbols for architecture x86_64:
  "_GifErrorString", referenced from:
      _PrintGifError in qprintf.o

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

make: *** [libutil.so] Error 1

改變

USOURCES = qprintf.c quantize.c getarg.c

對此

USOURCES = qprintf.c quantize.c getarg.c gif_err.c

Makefile里面。 另外,更改這些行:

$(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS)
...
...
$(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libutil.so.$(LIBMAJOR) -o libutil.so $(UOBJECTS)

$(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-install_name -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS)
...
...
$(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-install_name -Wl,libutil.so.$(LIBMAJOR) -o libutil.so $(UOBJECTS)

會做的工作

> make
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o dgif_lib.o dgif_lib.c
warning: unknown warning option '-Wno-format-truncation' [-Wunknown-warning-option]
...
...
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifwedge.c libgif.a libutil.a  libgif.a -lm -o gifwedge
warning: unknown warning option '-Wno-format-truncation' [-Wunknown-warning-option]
1 warning generated.

要跳過xmlto執行,請刪除

#       $(MAKE) -C doc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM