具有一个标头c ++

时间:2015-11-21 11:14:30

标签: c++ header linker cmake

我正在开展一个项目,我有一个休假的场景。 我有:

  1. 标题,称之为header.h
  2. 一个脚本,对于给定的参数集生成一个实现标头的.cpp。让我们调用第一个foo.cpp。
  3. 我已经为header.h构建了一个小接口,称之为header_interface.h,因为header.h是从外部源开发和维护的。 现在我想使用foo.cpp和header.h作为库,所以在我的CMakeLists.txt中我添加了一个foo库,在我的程序中我包含了header_interface.h,然后将程序链接到foo库。

    现在,如果我有另一个自动生成的文件bar.cpp,并且我想使用条形库,我不必更改程序中的任何内容,只需链接到bar而不是foo。

    但是,我的程序中可能需要foo和bar,例如,如果库为我提供了两种不同的解决方案,我需要两种解决方案。显然我不能像以前那样做,因为#include" header_interface.h"将是模糊的,并且还创建HeaderInterface类的成员会导致问题。

    解决此问题的最佳解决方案是什么。有没有办法解决这个问题,而不必创建header_interface.h的多个副本,我会调用例如header_interface_foo.h并更改HeaderInterface类的名称?

    谢谢!

0 个答案:

没有答案