对于以下问题,是否有最佳实践或最常见的方法?
我有多个 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
中来解决这个问题。