我想创建一个库,让我的程序使用一个类,我们称它为 A,它有一些简洁的方法等等......不过,这个类依赖于其他几个(B 和 C),并将其 .hpp
文件包含在其 .cpp
文件中。
构建过程是这样的:
g++ -c B.cpp
g++ -c C.cpp
g++ -c A.cpp
ar rvs A.a *.o
通过这样做,我的其他项目现在只需要包含我的 A 类的文件,A.hpp
和 A.a
。我是否正确制作了静态库?我是否应该只将 A.o 放入存档(库)中(这样做会产生错误)?
仅供引用,这是使用 A 类的程序的编译方式:
g++ test1.cpp A.a -o test1
编辑:有没有办法隐式告诉链接器将我的程序链接到 A.a?就像我不需要手动将它与 iostream 链接一样......
最佳答案
你现在的做法很好。将所有目标文件放入静态库。
关于c++ - 我是否应该将所有 .o 文件放入库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12485862/