C ++: статические библиотеки, ссылающиеся на статические библиотеки

0

Я занимаюсь реорганизацией структуры, и я мог бы использовать некоторые рекомендации для дизайна. Рассмотрим следующее:

gl_utils.lib содержит структуру:

namespace gl_utils
{
    struct LVec2
    {
        GLfloat x;
        GLfloat y;
        LVec2() {}
        LVec2(GLfloat x, GLfloat y): x(x), y(y) {}
    };
}

однако animation_utils.lib содержит объект с использованием структуры в другой статической библиотеке:

#include "gl_utils.h"
using namespace gl_utils;

class Part
{
    public:
        LVec2 Location;
        float Rotation;
        LVec2 Scaling;
        int Index;
        int Flip;

        Part();
};

Это плохая идея? Есть ли безопасный способ создания библиотек друг на друге, или есть техника, которую я пропускаю?

  • 0
    Выглядит хорошо для меня .... есть какая-то конкретная проблема, с которой вы столкнулись, или вы просто гоняетесь по "шаблонам дизайна"?
Теги:
static-libraries
game-engine
static-linking

1 ответ

1
Лучший ответ

Это прекрасно. Вы должны документировать его, так как окончательная исполняемая или разделяемая библиотека должна будет связываться с обе статическими библиотеками.

Если вы не хотите вводить зависимость от gl_utils для animation_utils, вы можете представить основную библиотеку, например, для хранения структуры LVec2 (и, возможно, других типов), поскольку она не связана исключительно с gl.

Вам все равно придется ссылаться на основную библиотеку, хотя это может сделать архитектуру еще более модульной.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню