我有一个项目,它在Windows上使用Windows API,在每个其他平台上使用pthreads。
如果我不针对Windows,如何让我的makefile将-pthread
添加到我的CFLAGS?对于编译,我使用[gcc(mingw和native),clang,icc],对于我有[GNU / Linux,BSD,Darwin,Windows]的目标。
答案 0 :(得分:1)
假设您已安装mingw并正在使用GNUmake:
OPERATING_SYSTEM:= $(shell uname | sed 's/-.*//')
ifneq ($(OPERATING_SYSTEM),MINGW32_NT)
CFLAGS+= -pthread
LDFLAGS+= -pthread
endif
答案 1 :(得分:0)
我最终做了......
uname_S = $(shell sh -c 'uname -s 2>/dev/null || echo not')
ifeq (,$(findstring MINGW,$(uname_S)))
CFLAGS += -pthread
endif
完全从git源代码树中删除。