g++链接和畅饮

发布于 2024-10-21 15:09:52 字数 808 浏览 6 评论 0原文

我有一个 cpp 文件,其中包含我在 python 中与 SWIG 一起使用的函数。我使用以下命令来编译源代码并创建与 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 库?谢谢

I have a cpp file with functions that I'm using in python with SWIG. I use the following commands to compile the source and create the file to use with 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

I'm trying now to use GSL in my source cpp source file. If I was just compiling the GSL file I would do

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

I've tried adding the -lgsl -lgslcblas -lm to the lines for the swig compile but I get

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

How can I link the gsl libraries? Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

£冰雨忧蓝° 2024-10-28 15:09:53

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

Swig does no linking, as the warning message states. Put the -lgsl etc. on the link command, which is your last g++ command.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文