【发布时间】:2014-06-24 17:13:34
【问题描述】:
我刚刚完成了一个程序,其中有一个 main.cpp 文件和我自己的静态库,我们称之为 myLib,它由 myLib.h 和一个 myLib.cpp 文件组成。
myLib.h 和 myLib.cpp 创建一个静态库。
在我的静态库中,我使用了一些 boost 函数和类,以便我自己的类和 myLib.cpp 中的函数可以做一些事情:所以我在 myLib.cpp 中添加了这些行
#include <boost/math/distributions/binomial.hpp>
#include <boost/math/tools/roots.hpp>
到 myLib.cpp
现在 myLib.h 包含函数声明和一些类定义,myLib.cpp 具有这些函数和类定义的实现,并且由于某些函数,需要在 myLib.h 中声明的类,#include "myLib. h”也必须添加到 myLib.cpp 文件中(我怀疑如果这些函数没有,那么 myLib.cpp 可以编译为目标文件而无需包含 myLib.h 文件,只要使用该对象的任何内容文件确实包含 myLib.h - 但由于某些函数使用这些类,因此 myLib.cpp 还包含 myLib.h)。实现文件是否可以要求将头文件编译为目标文件(然后包含到 .a 文件中)?我无法完全理解这是否不好 - 我认为他们应该是分开的?
【问题讨论】:
标签: c++ compilation