0

私は、VMware仮想マシン(Linuxゲスト)を備えたWindowsで、他のLinuxマシンでコンパイルするこのアプリケーションを構築しています。makefile があり、make が完了します。次に、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'

-pthreadgcc(または何か)のフラグを指定する必要があることがわかりました。これはどのように行われますか?内容: (編集: CadModel ACGMakefile/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)
4

2 に答える 2

2

-lpthreadまたは-pthreadリンカーが必要とするものです。

LD_LIBRARY_PATHオプションを使用して、ライブラリが設定されていない場合、ライブラリの場所をリンカに指示することも-L/path/to/libできます。

于 2012-06-17T19:09:02.173 に答える
1

に追加-pthreadしてみてください

ifeq ($(findstring g++,$(CXX_COMP)),g++)
CXX_CFLAGS += -Wno-write-strings -Wno-ignored-qualifiers -pthread 
CXX_LDFLAGS += -Xlinker --no-warn-search-mismatch -pthread 
endif
于 2012-06-18T08:52:52.723 に答える