我有两个项目,它们有一些共同的标题,因此它们都包含这些标题。现在我的问题是:我可以在外部cpp文件中实现这些标头。例如,当标题位于项目内部时,您只需声明函数并在.cpp文件中实现它们,并且因为.cpp文件位于项目中,编译器将知道在哪里实现这些函数。
那么我如何对外部标题做同样的事情?包括.h和.cpp ??实现.h ??
中的所有函数感谢。
答案 0 :(得分:3)
通常,您将为cpp文件中的定义创建动态或静态库 - 这些是您共享的标头中声明的导出定义。
然后您将app / executable链接到该库。
在链接期间,链接器将在您创建的静态/动态库中找到应用程序引用的符号。如果您已正确实现并配置了所有内容,则不会出现链接器错误。
答案 1 :(得分:0)
这取决于你想要完成的任务。我有效的解决方案是创建一个“仅头”文件,其中实现在声明中。升压库的很大一部分就是这样做的。
另一个选择是将您的公共代码放在另一个项目中,并链接到它。