C++ 多个 DLL 之间的共享接口



对于以下问题,是否有最佳实践或最常见的方法?

我有多个 DLL,DLL 中的一些类应该使用接口。

例如,我有以下界面:

class MyInter {
public:
virtual void DoSomething() = 0;
}
using MyInterPtr = std::shared_ptr<MyInter>;

此接口应在 DLL 中使用,如下所示:

// DLL 1
class MyClass : public MyInter {
public:
...
virtual void DoSomething() override {
...
}
}
// DLL 2
class MyUsage {
public:
void usage() {
myinter->DoSomething();
}
private:
MyInterPtr myinter;
}

现在的问题是,在哪里放置接口文件。在一个单独的库中,两者都包含或仅在一个公共文件夹中,或者是否有更好的方法来解决这个问题?

我认为没有最佳实践。经过长时间的搜索,我没有找到这个问题的答案,所以我通过将界面放在共享文件夹中并将此路径包含在所有库的properties->C++->General->Additional Include Directories中来解决这个问题。

最新更新