代码之家  ›  专栏  ›  技术社区  ›  Yin Zhu

GCC中的link.a和.o文件

  •  4
  • Yin Zhu  · 技术社区  · 15 年前

    我有两个预编译库: X.a Y.a 而test.cpp(没有主函数)源代码使用这两个库。

    我用C++编译了:

    g++ -c test.cpp

    我得到了“test.o”。

    现在,我如何将这三个链接在一起以生成 .a 文件,因为test.cpp在x.a和y.a以及其他gcc库中使用了一些函数?

    顺便说一句,我是在窗户下用明胶做的。我可以将这个.a文件重命名为.lib并在vc中使用这个.lib吗?

    谢谢!

    2 回复  |  直到 15 年前
        1
  •  5
  •   vartec    15 年前

    现在我怎么把这三个联系起来 一起生成一个.a文件,因为 test.cpp在x.a和 Y.A和其他GCC图书馆?

    .a 那就没什么了 ar 包含所有对象文件的存档( .o 文件)

    我能把这个文件重命名为.lib吗? 在VC中使用这个.lib?

    是的,但这几乎不需要什么技巧。见: http://opensees.berkeley.edu/community/viewtopic.php?t=2267

        2
  •  3
  •   Dacav    15 年前

    要将对象文件添加到静态库,必须使用以下命令:

    ar rcs X.a test.o
    

    但是如果你有X.A和Y.A,我想你不是X和Y的作者,所以我不确定你真的想加入他们!

    您可以决定将每个对象文件链接到单个可执行文件中,但是您需要 main 它的功能!

    编辑: 我也建议你阅读 this .