C ++ Share Интерфейс между несколькими DLL - PullRequest
1 голос
/ 06 января 2020

Существует ли передовая практика или наиболее распространенный способ решения следующей проблемы?

У меня есть несколько библиотек 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;
}

Теперь вопрос в том, где разместить файл интерфейса. Внутри отдельной библиотеки, которая включает или просто находится в общей папке, или есть даже лучший подход к этой проблеме?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...