1

我有一个 cpp 文件,其中包含我在带有 SWIG 的 python 中使用的函数。我使用以下命令编译源代码并创建用于 python 的文件。

swig -c++ -python mini.i
g++ -O2 -c  mini.cpp -I/usr/include/python2.4 -I/usr/lib/python2.4
g++ -O2 -c  mini_wrap.cxx  -I/usr/include/python2.4 -I/usr/lib/python2.4
g++ -shared mini.o mini_wrap.o -o _mini.so

我现在正在尝试在我的源 cpp 源文件中使用GSL 。如果我只是编译 GSL 文件,我会这样做

g++ -lgsl -lgslcblas -lm -o mini.o mini.cpp

我尝试将 -lgsl -lgslcblas -lm 添加到 swig 编译的行中,但我得到了

g++: -lgsl: linker input file unused because linking not done
g++: -lgslcblas: linker input file unused because linking not done
g++: -lm: linker input file unused because linking not done

如何链接 gsl 库?谢谢

4

1 回答 1

1

正如警告消息所述,Swig 没有链接。将-lgsl等放在链接命令上,这是您最后一个 g++ 命令。

于 2011-03-14T18:53:30.200 回答