簡體   English   中英

Cygwin中無法識別的命令行選項'-pthread'

[英]Unrecognized command line option ‘-pthread’ in Cygwin

我正在嘗試在Cygwin中構建April Tags項目的C實現,但是在運行make時遇到以下錯誤(我已經安裝了gcc-core並從Cygwin的devel部分創建了包):

apriltag.o
gcc: error: unrecognized command line option ‘-pthread’
Makefile:23: recipe for target 'apriltag.o' failed
make: *** [apriltag.o] Error 1

makefile的內容是:

CC = gcc
AR = ar

CFLAGS = -std=gnu99 -Wall -Wno-unused-parameter -Wno-unused-function -pthread -I. -Icommon -O1
LDFLAGS = -lpthread -lm

APRILTAG_OBJS = apriltag.o apriltag_quad_thresh.o tag16h5.o tag25h7.o tag25h9.o tag36h10.o tag36h11.o tag36artoolkit.o g2d.o common/zarray.o common/zhash.o common/zmaxheap.o common/unionfind.o common/matd.o common/image_u8.o common/pnm.o common/image_f32.o common/image_u32.o common/workerpool.o common/time_util.o common/svd22.o common/homography.o common/string_util.o common/getopt.o

LIBAPRILTAG := libapriltag.a

all: $(LIBAPRILTAG) apriltag_demo


$(LIBAPRILTAG): $(APRILTAG_OBJS)
    @echo "   [$@]"
    @$(AR) -cq $@ $(APRILTAG_OBJS)

apriltag_demo: apriltag_demo.o
    @echo "   [$@]"
    @$(CC) -o $@ apriltag_demo.o $(APRILTAG_OBJS) $(LDFLAGS)

%.o: %.c
    @echo "   $@"
    @$(CC) -o $@ -c $< $(CFLAGS)

clean:
    @rm -rf *.o common/*.o $(LIBAPRILTAG) apriltag_demo 

我已經讀過cygwin支持posix線程所以我不確定為什么這不起作用。 我還遇到了一個補丁,應該在cygwin中設置-pthreads,但我不知道如何使用它。 我怎么能解決這個錯誤?

使用-lpthread 如果你完全刪除標志,你可能會回到pthread函數的存根實現(有效地禁用線程功能)。 這顯然不推薦。 請參閱https://stackoverflow.com/a/48365044/8979940

暫無
暫無

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

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