我如何告诉 acgmake 使用 -pthread

How do I tell acgmake to use -pthread?

本文关键字:使用 -pthread acgmake 何告诉      更新时间:2023-10-16

我正在构建这个应用程序,该应用程序可以在其他Linux机器上编译,在Windows上与VMware虚拟机(linux guest)一起编译。它有一个生成文件并完成。然后我运行acgmake,这应该制作运行所需的所有文件。我收到此错误:

Build executable  Debian64_gcc4.6_dbg/libsrc_CadModel.so  ->  Debian64_gcc4.6_dbg/cadmodel
/home///intel/mkl/10.2.2.025/lib/em64t/libiomp5.so: undefined reference     to `pthread_atfork'

我发现我需要为 gcc(或其他东西)指定-pthread标志。这是怎么做到的?该ACGMakefile包含:(编辑:CadModel/ACGmakefile)

#==  SYSTEM PART -- DON'T TOUCH  ==============================================
include $(ACGMAKE)/Config
#==============================================================================
CXX_CFLAGS += -DQT_THREAD_SUPPORT
ifeq ($(findstring g++,$(CXX_COMP)),g++)
CXX_CFLAGS +=  -Wno-write-strings -Wno-ignored-qualifiers
CXX_LDFLAGS += -Xlinker --no-warn-search-mismatch
endif
SUBDIRS     = $(call find-subdirs)
PACKAGES   := ftgl opencascade qt4 glut opengl x11 math mkl
PROJ_LIBS   =  OpenMesh/Core
MODULES    := moc4 rcc cxxlib cxx
 all: build
info:
@echo "Using compiler $(filter g++, $(CXX_COMP))"
#   @echo "CFLAGS = $(CXX_LDFLAGS)"
#==  SYSTEM PART -- DON'T TOUCH  ==============================================
include $(ACGMAKE)/Rules
#==============================================================================
 run: $(cxx-exes)
./$(cxx-exes)
链接

器需要-lpthread-pthread

您可能还想告诉链接器在哪里可以找到库,如果它们未在LD_LIBRARY_PATH中设置,请使用 -L/path/to/lib 选项。

尝试将-pthread添加到

ifeq ($(findstring g++,$(CXX_COMP)),g++)CXX_CFLAGS += -Wno-write-string -Wno-ignore qualifiers -pthreadCXX_LDFLAGS += -Xlinker --no-warn-search-mismatch -pthread恩迪夫