我目前有一个如下的c++设置

class FlowController
{
   public:
    //...
   private:
       cntrl::OneWayValve _intake;
}

如您所见,我正在类中使用cntrl::OneWayValve实例。 Valve类位于另一个在编译时与之链接的库中。像这样,cntrl::OneWayValve在其实现中具有cntrl::Value。
class OneWayValve
{
   public:
    //...
   private:
       cntrl::Valve _valve;
}

与以前一样,cntrl::Valve驻留在不同的库中,原因是您必须向以前的开发人员询问有关的原因。

现在,当我编译FlowController类时,需要链接到OneWayValve库和cntrl::Valve库。

我的问题:
是否只能在编译时链接到cntrl::OneWayValve库?

提前申报?
静态库(真的不想这样做吗?)?
另一种选择?

基本上我不想在内部使用cntrl::Valve知道它,这与我无关。

注意:抱歉,操作系统是Unix。

干杯,

最佳答案

您可以做的是使用称为图书管理员的工具,将Valve库作为OneWayValve库的一部分。我不知道您使用的是哪个OS/编译器,所以我将描述如何使用Visual Studio进行操作,因为这是我实际使用的唯一系统(除非您希望计算CP/M + LIB-80) :-)

如果为您的OneWayValve项目打开“工具” |“选项”对话框,然后选择“配置属性” |“库管理器” |“附加依赖项”,则可以在“附加依赖项”设置中放置对Valve库的引用。这将导致OneWayValve.lib包含它从Valve.lib引用的任何对象。

09-08 05:29