Исходя из фона не C++, я пытаюсь переписать несколько проектов с использованием Qt. Мне нужно создать общую библиотеку, в которой будут размещаться обычно используемые функции «утилиты». Мне не нужен класс, так как все функции будут статичными, поэтому я думал о создании пространства имен, которое будет содержать все функции, но выполнение этого с использованием шаблона общей библиотеки Qt не работает. Это возможно? Если да, может кто-нибудь, пожалуйста, указать мне в правильном направлении?Qt - Общая библиотека, содержащая функции «Утилиты»?
Например, я хочу использовать функции Utils ниже и поместить их в общую библиотеку, чтобы мне не пришлось копировать файлы во все проекты, в которых я хочу их использовать.
Utils.h
#ifndef UTILS_H
#define UTILS_H
#include <QtCore>
#include <QString>
#include <QDateTime>
#include <QFileInfo>
namespace Utils {
QString getAppName();
bool stringToBool(const QString &str);
QString getFileTimeStamp();
QString getPacketTime();
QString getTodayStamp();
}
#endif // UTILS_H
Utils.cpp
#include <Helpers/utils.h>
namespace Utils {
QString getAppName()
{
return QFileInfo(QCoreApplication::applicationFilePath()).baseName();
}
bool stringToBool(const QString &str)
{
return str.contains("1");
}
QString getFileTimeStamp()
{
return QDateTime::currentDateTime().toString("ddhhmmsszzz");
}
QString getPacketTime()
{
return QDateTime::currentDateTime().toString("hh:mm:ss");
}
QString getTodayStamp()
{
return QDateTime::currentDateTime().toString("MMddyy");
}
}
Непонятно, почему Qt используется? Какая часть Qt будет использоваться в этой библиотеке? Какую функциональность выполняют эти функции из динамической библиотеки? – AlexanderVX
Поскольку Qt - это среда, которую я использую, чтобы переписать приложение, и я пытаюсь использовать мастер общей библиотеки в среде разработки Qt Creator. – DonJoe
Я вижу, вы добавили код на вопрос. Очень упрощен. 1. Будет существовать зависимость от самой Qt. 2. Если он не будет использоваться более чем одним приложением, я бы даже не попытался создать динамическую библиотеку с Qt. 3. Если он будет использоваться многими независимыми приложениями, но с той же версией Qt, то есть причина для создания динамической библиотеки, если она будет большой и сложной, чтобы удовлетворить всю работу. Если он будет использоваться только одним приложением, вам не потребуется динамическая библиотека. wiki для вас: https://wiki.qt.io/How_to_create_a_library_with_Qt_and_use_it_in_an_application – AlexanderVX