Есть задача в своем приложении (на Qt 5.5) реализовать функции SVN-клиента, без вызова внешних утилит. (Принцип KISS, конечно, правильный, но в некоторых случаях будет только хуже.)
В качестве решения задачи было решено импортировать код пролекта qsvn.
Попытка разобраться в импортируемом коде привела к ошибке компелирования
svnQt/svn/svnclient.cpp:56: ошибка: undefined reference to `svn::Context::Context(QString const&)'
svnQt/svn/svnclient.cpp:57: ошибка: undefined reference to `svn::Client::getobject(svn::smart_pointer<svn::Context>, int)'
svnQt/svn/svnclient.cpp:60: ошибка: undefined reference to `svn::Context::setListener(svn::ContextListener*)'
Проблемный код взят без изменений из qsvn:
svn/svnclient.h
Код: Выделить всё
#include "svnqt/client.hpp"
//<Пропущено>
svn::ContextP svnContext;
svn/svnclient.cpp
Код: Выделить всё
SvnClient::SvnClient()
{
svnContext = new svn::Context();
svnClient = svn::Client::getobject(svnContext, 0);
listener = new Listener(this);
svnContext->setListener(listener);
m_InProgress = false;
}
Описание (в иклюдах) svn::ContextP
svnqt/svnqttypes.hpp
Код: Выделить всё
namespace svn
{
//<Вырезано>
typedef smart_pointer<svn::Context> ContextP;
Описание (в иклюдах) svn::Context - класс описанный в svnqt/context.hpp
Оригинальный проект собирается cmake. Я же собираю qmake.
В любом случае, версия Qt - 5.5.1
Прошу помощи в устранении этой проблемы.
Заранее благодарю.
PS: Так как не все импортировано из qsvn, возможна ругань компилятором на другие участки кода, ссылающиеся на отсутствующие классы из проекта qsvn.