当使用 .a 文件时,我必须分发 .cpp 文件还是只分发 .h 文件?
比如我写了大量的类,把所有的代码编译成.o文件。然后我将 .o 文件存档到 .a 文件中。
当我尝试在其他项目中使用 .a 文件和 .h 文件时,有时需要我拥有 .cpp 文件。
对于某些 header ,它不会要求我提供 .cpp 文件,但对于诸如套接字之类的东西,它会提供对 impl_shutdown 的 undefined reference ,除非我包含 .cpp 文件。
即使我链接了所有必要的库,也会发生这种情况。
为什么? .o/.a 文件到底是什么?为什么我需要用它来分发 .cpp 文件?像 Zlib 和 LibPng 这样的库似乎不需要分发任何东西,除了 .h 和 .a 文件。
最佳答案
When using .a files, do I have to distribute the .cpp files with it or just the .h files?
只有标题。
What are .o/.a files really
.o 文件是 object code , .a 是文件(目标文件的集合)。它们是编译和组装的机器代码,需要链接才能创建可执行文件。
and why do I need to distribute the .cpp files with it?
你不知道。
关于c++ - 分发带标题的 .o 或 .a 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15723809/