带有GSL包的c ++出错

时间:2016-09-01 16:49:00

标签: c++ gcc gsl

我刚刚将GSL包安装到我的机器上。 我安装到我的导演(/ u / h) 我写了Make文件:

C = g++
CFLAGS = -c -Wall -O3
LDFLAGS = -L/u/h/lib -lgsl -lgslcblas -lm
SOURCES = main.cc params.cc
OBJECTS = $(SOURCES:.cc=.o)
OBJDIR = obj
EXECUTABLE = absimulator

all: clean $(SOURCES) $(EXECUTABLE)

.cc.o:
        $(CC) $(CFLAGS) $(OPTION) $< -o $@

finish_compile: $(OBJECTS)
        mkdir $(OBJDIR)
        mv *.o $(OBJDIR)

$(EXECUTABLE): finish_compile
        $(CC) $(LDFLAGS) $(OBJDIR)/*.o -o $@

clean:
        rm -Rf $(OBJDIR) $(EXECUTABLE)

clean_run:
        rm results/*
        rm absimulator absimulator_*
        rm time*

我得到了错误:

rm -Rf obj absimulator
g++ -c -Wall -O3  main.cc -o main.o
g++ -c -Wall -O3  params.cc -o params.o
mkdir obj
mv *.o obj
g++ -L/u/h/lib -lgsl -lgslcblas -lm  obj/*.o -o absimulator
obj/main.o: In function `ABSimulator<10u>::ABSimulator(Params&, char const*)':
main.cc:(.text._ZN11ABSimulatorILj10EEC2ER6ParamsPKc[_ZN11ABSimulatorILj10EEC5ER6ParamsPKc]+0x127): undefined reference to `gsl_rng_env_setup'
main.cc:(.text._ZN11ABSimulatorILj10EEC2ER6ParamsPKc[_ZN11ABSimulatorILj10EEC5ER6ParamsPKc]+0x12e): undefined reference to `gsl_rng_default'
main.cc:(.text._ZN11ABSimulatorILj10EEC2ER6ParamsPKc[_ZN11ABSimulatorILj10EEC5ER6ParamsPKc]+0x133): undefined reference to `gsl_rng_alloc'
main.cc:(.text._ZN11ABSimulatorILj10EEC2ER6ParamsPKc[_ZN11ABSimulatorILj10EEC5ER6ParamsPKc]+0x142): undefined reference to `gsl_rng_name'
main.cc:(.text._ZN11ABSimulatorILj10EEC2ER6ParamsPKc[_ZN11ABSimulatorILj10EEC5ER6ParamsPKc]+0x1bf): undefined reference to `gsl_rng_default_seed'
main.cc:(.text._ZN11ABSimulatorILj10EEC2ER6ParamsPKc[_ZN11ABSimulatorILj10EEC5ER6ParamsPKc]+0x228): undefined reference to `gsl_rng_get'
main.cc:(.text._ZN11ABSimulatorILj10EEC2ER6ParamsPKc[_ZN11ABSimulatorILj10EEC5ER6ParamsPKc]+0x2c6): undefined reference to `gsl_ran_poisson'
main.cc:(.text._ZN11ABSimulatorILj10EEC2ER6ParamsPKc[_ZN11ABSimulatorILj10EEC5ER6ParamsPKc]+0x2ee): undefined reference to `gsl_ran_poisson'
obj/main.o: In function `ABSimulator<10u>::run(unsigned long long, unsigned long long)':
main.cc:(.text._ZN11ABSimulatorILj10EE3runEyy[_ZN11ABSimulatorILj10EE3runEyy]+0x17f5): undefined reference to `gsl_rng_uniform_int'
main.cc:(.text._ZN11ABSimulatorILj10EE3runEyy[_ZN11ABSimulatorILj10EE3runEyy]+0x184d): undefined reference to `gsl_ran_poisson'
main.cc:(.text._ZN11ABSimulatorILj10EE3runEyy[_ZN11ABSimulatorILj10EE3runEyy]+0x1ed0): undefined reference to `gsl_ran_binomial'
main.cc:(.text._ZN11ABSimulatorILj10EE3runEyy[_ZN11ABSimulatorILj10EE3runEyy]+0x1ef8): undefined reference to `gsl_ran_binomial'
main.cc:(.text._ZN11ABSimulatorILj10EE3runEyy[_ZN11ABSimulatorILj10EE3runEyy]+0x1f28): undefined reference to `gsl_ran_poisson'
main.cc:(.text._ZN11ABSimulatorILj10EE3runEyy[_ZN11ABSimulatorILj10EE3runEyy]+0x2b0e): undefined reference to `gsl_ran_binomial'
main.cc:(.text._ZN11ABSimulatorILj10EE3runEyy[_ZN11ABSimulatorILj10EE3runEyy]+0x2b2e): undefined reference to `gsl_ran_binomial'
main.cc:(.text._ZN11ABSimulatorILj10EE3runEyy[_ZN11ABSimulatorILj10EE3runEyy]+0x2b4e): undefined reference to `gsl_ran_binomial'
main.cc:(.text._ZN11ABSimulatorILj10EE3runEyy[_ZN11ABSimulatorILj10EE3runEyy]+0x2b6e): undefined reference to `gsl_ran_binomial'
main.cc:(.text._ZN11ABSimulatorILj10EE3runEyy[_ZN11ABSimulatorILj10EE3runEyy]+0x2b8e): undefined reference to `gsl_ran_binomial'
obj/main.o:main.cc:(.text._ZN11ABSimulatorILj10EE3runEyy[_ZN11ABSimulatorILj10EE3runEyy]+0x2bae): more undefined references to `gsl_ran_binomial' follow
obj/main.o: In function `main':
main.cc:(.text.startup+0x2bb): undefined reference to `gsl_rng_free'
main.cc:(.text.startup+0x4a0): undefined reference to `gsl_rng_free'
collect2: error: ld returned 1 exit status
make: *** [absimulator] Error 1

似乎makefile找不到GSL lib,我不知道为什么以及如何修复它... 你能帮助我找到我的错误吗? 感谢

0 个答案:

没有答案