gsl undefined symbol:gsl_multifit_nlinear_trs_lmaccel

时间:2017-05-17 10:04:58

标签: c++ gsl

我在使用GNU Scientific Lbrary(GSL)时遇到了一些麻烦。 在安装它之后,我使用示例here对其进行了测试,并且在编译时使用了它:

nested_object_2

接下来,我尝试编译that而不改变源代码和编译命令。但问题是,当我尝试运行结果时,我得到:

gcc -Wall -c main.cpp ; gcc -L/usr/local/lib main.o -lgsl -lgslcblas -lm -libtemt

我试图将其评论出来,但它正在提出其他问题。我在fulle doc中找到了变量,但我无法找到它所定义的位置。

由于第一个例子正在运行,我认为GSL已经成功安装,并且由于在不同的代码中使用了相同的变量,我认为它是一个全局变量,在库中定义。

有谁知道为什么我无法访问它?

非常感谢!

1 个答案:

答案 0 :(得分:0)

好吧,经过大量的眼泪(不,这是个玩笑),我找到了一个答案:

我在我的目录中复制并粘贴libgsl.a和libgslcblas.a,我写了makefile:

CC=gcc
CXXFLAGS=-W -Wall -ansi -pedantic
LIBS=libgsl.a libgslcblas.a -lm
main:main.o
    $(CC) -o main main.o $(LDFLAGS) $(LIBS)

main.o: main.cpp 
    $(CC) -o main.o -c main.cpp $(CXXFLAGS)

即使有两个弱点,我对这个答案感到满意: 1)我不知道如何使用共享库(此时) 2)我不知道如何通过命令行

希望它会帮助某人