Здравствуйте!
Есть необходимость в свое приложение встроить функционал работы с 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.PPS: Мой проект так же будет под свободной лицензией.