前提・実現したいこと
プログラムの初心者です。
現在Makefile.gnuをMakeしたいのですが、以下のエラーが出ます。
C++のコードとfortranのコードを使用しており、プログラムでエラーが発生しています。
このエラーの解決を行いたいです。
以前リンクでのエラーとのご指摘がありましたが、まだわかりませんでした。
このエラーに対する原因として考えられるものは何があるでしょうか。
ご回答よろしくお願いします。
発生している問題・エラーメッセージ
sdfReinit3d.F:(.text+0x15b): `_gfortran_allocate64_array' に対する定義されていない参照です sdfReinit3d.F:(.text+0x2ba): `_gfortran_deallocate' に対する定義されていない参照です sdfReinit3d.F:(.text+0x2d4): `_gfortran_deallocate' に対する定義されていない参照です /home/ee174039/ドキュメント/SDFlib/sample/../usr/local/sphere/lib/libSDF.a(sdfReinit3d.o): 関数 `reinit3d_weno_' 内: sdfReinit3d.F:(.text+0x1442): `_gfortran_allocate64_array' に対する定義されていない参照です sdfReinit3d.F:(.text+0x1505): `_gfortran_allocate64_array' に対する定義されていない参照です sdfReinit3d.F:(.text+0x15d6): `_gfortran_allocate64_array' に対する定義されていない参照です sdfReinit3d.F:(.text+0x34f5): `_gfortran_deallocate' に対する定義されていない参照です sdfReinit3d.F:(.text+0x3504): `_gfortran_deallocate' に対する定義されていない参照です sdfReinit3d.F:(.text+0x3513): `_gfortran_deallocate' に対する定義されていない参照です sdfReinit3d.F:(.text+0x352d): `_gfortran_deallocate' に対する定義されていない参照です sdfReinit3d.F:(.text+0x3547): `_gfortran_deallocate' に対する定義されていない参照です /home/ee174039/ドキュメント/SDFlib/sample/../usr/local/sphere/lib/libSDF.a(sdfReinit3d.o):sdfReinit3d.F:(.text+0x3561): `_gfortran_deallocate' に対する定義されていない参照がさらに続いています /home/ee174039/ドキュメント/SDFlib/sample/../usr/local/sphere/lib/libSDF.a(sdfReinit3d.o): 関数 `sdf_reinit3d_eno2_' 内: sdfReinit3d.F:(.text+0x388e): `_gfortran_allocate64_array' に対する定義されていない参照です sdfReinit3d.F:(.text+0x3af6): `_gfortran_deallocate' に対する定義されていない参照です sdfReinit3d.F:(.text+0x3b10): `_gfortran_deallocate' に対する定義されていない参照です /home/ee174039/ドキュメント/SDFlib/sample/../usr/local/sphere/lib/libSDF.a(sdfReinit3d.o): 関数 `sdf_reinit3d_weno_' 内: sdfReinit3d.F:(.text+0x3c2e): `_gfortran_allocate64_array' に対する定義されていない参照です sdfReinit3d.F:(.text+0x3e96): `_gfortran_deallocate' に対する定義されていない参照です sdfReinit3d.F:(.text+0x3eb0): `_gfortran_deallocate' に対する定義されていない参照です
###code model
# # Makefile for SDFlib sample # HAVE_FC=yes # override 'G' to optimize G = -g # override 'PREFIX' to specify your installed dir ROOT = $(PWD) PREFIX = $(ROOT)/../usr/local/sphere SDFDIR = $(PREFIX) PROGS = sdfTest CXX = c++ CXXFLAGS = $(G) -I$(SDFDIR)/include/sdf LD = $(CXX) LDFLAGS = $(G) -L$(SDFDIR)/lib LDLIBS = -L$(SDFDIR)/lib FC = gfortran FFLAGS = $(G) -I$(SDFDIR)/include/sdf LDF = $(FC) LDFLAGSF = $(G) -L$(SDFDIR)/lib LDLIBSF = -lSDF -lm -lstdc++ ifeq ($(HAVE_FC),yes) LDLIBS += -lSDF -lgfortran PROGS += fortTest endif TARGET = $(PROGS) all : $(TARGET) sdfTest : sdfTest.o $(LD) $(LDFLAGS) -o $@ $< $(LDLIBS) fortTest : fortTest.o $(LDF) $(LDFLAGSF) -o $@ $< $(LDLIBS) clean: $(RM) *.o test_out* distclean: clean $(RM) $(PROGS)
試したこと
言語間結合について学習しました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/13 08:06