链接静态库而不是动态库
我有一个名为 FOO 的目录,其中包含 Xa 和 X.so 。我只想选Xa 因此,在我的 makefile 中,我使用以下内容来链接它
EXE: OBJ.o
g++ -L/PATH/TO/FOO -o $@ $< -static -lX
但是当我这样做时,我收到以下错误
/usr/bin/ld: cannot find -lstdc++
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lc
如何正确完成此操作。一种方法是给出Xa的abs路径还有其他方法吗?
I have a directory named FOO which has X.a and X.so . I want to choose only X.a.
So in my makefile I am using the following to link it
EXE: OBJ.o
g++ -L/PATH/TO/FOO -o $@ lt; -static -lX
But when I do that, I get the following error
/usr/bin/ld: cannot find -lstdc++
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lc
How should this be done properly. One way is to give abs path of X.a. Is there some other way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
试试这个:
Try this:
如果我正确阅读 ld 的文档,则不必指定绝对路径,但可以使用其全名指定库,如下所示:
If I'm reading the documentation for
ld
correctly, you don't have to specify the absolute path, but you can specify a library using its full name as such: