0

ミニアプリケーションを構築/構成するために GNU Autotools を使用しています。

ここに私のconfigure.acがあります:

AC_INIT([Tutorial Program], [1.0])
AM_INIT_AUTOMAKE
AC_PROG_CXX

AC_SUBST([GENERAL_INCD], ["-I../Src"])
AC_SUBST([GENERAL_LIBD], ["-L../../Lib"])

AC_SUBST([SOLCPP_LIBS], ["-lsolcpp -lcfsqp"])

AC_SUBST([FFTWPP_INCD], ["-I../fftw++-1.09"]) 
AC_SUBST([FFTWPP_LIBS], ["../fftw++-1.09/fftw++.o"]) 

PKG_CHECK_MODULES([GSL], [gsl])
PKG_CHECK_MODULES([FFTW3], [fftw3])

AC_CONFIG_FILES([Makefile])
AC_OUTPUT

そして、ここに私の Makefile.am があります:

bin_PROGRAMS = test1        
test1_SOURCES = test1.cpp
test1_CPPFLAGS = $(GENERAL_INCD) $(FFTWPP_INCD) $(GSL_CFLAGS) $(FFTW3_CFLAGS)
test1_LDFLAGS=  $(GENERAL_LIBD) $(FFTWPP_LIBS) $(SOLCPP_LIBS) $(GSL_LIBS) $(FFTW3_LIBS)

問題は、./configure を実行してから make を実行すると、次のことを試みることです。

g++  -g -O2 -L../../Lib ../fftw++-1.09/fftw++.o -lsolcpp -lcfsqp -lgsl -lgslcblas -lm   -lfftw3 -lm    -o test1 test1-test1.o  
test1-test1.o

正しい予想されるコマンドは次のとおりですが、

g++ -O2 test1-test1.o -o test1 -L../../Lib -lsolcpp -lcfsqp ../fftw++-1.09/fftw++.o -lgsl -lgslcblas -lm   -lfftw3 -lm

configure.ac と Makefile.am を変更するには?

どうもありがとうございました

4

1 に答える 1

0

../fftw++-1.09/fftw++.oあなたはただ後に来たいようです、その場合あなたは単に後-lsolcpp -lcfsqpにリストする必要があります:FFTWPP_LIBSSOLCPP_LIBS

test1_LDFLAGS = $(GENERAL_LIBD) $(SOLCPP_LIBS) $(FFTWPP_LIBS) $(GSL_LIBS) $(FFTW3_LIBS)
于 2013-02-07T11:38:44.657 に答える