Мне удалось скомпилировать библиотеки POCO с MinGW64 (MSYS2). Чтобы собрать его, я установил Windows SDK и добавил в среду PATH путь к mc.exe
, поэтому я выполнил:
pacman -S mingw-w64-x86_64-cmake
# Get POCO
git clone -b master https://github.com/pocoproject/poco.git
# set Windows SDK to the PATH
export PATH="/c/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64:$PATH"
# Prepare compilation
cd poco
/mingw64/bin/cmake -G "MSYS Makefiles" ..
# Compile
make
Компиляция прошла успешно, и библиотеки были сгенерированы.
Затем,в коде моего проекта на c ++ я использую POCO :: Data :: ODBC и регистрирую его с помощью:
Poco::Data::ODBC::Connector::registerConnector();
Приложение компилируется, но есть ошибка компоновщика:
undefined reference to `Poco::Data::ODBC::Connector::registerConnector()'
Проверка библиотеки libPocoDataODBC.dll с помощью dllexp.exe. Я могу подтвердить, что для Poco :: Data :: ODBC :: Connector :: registerConnector () * не определена ни одна точка входа
Любая идея о причине этого недостаткаточек входа в библиотеку? Мой код обращается к другим библиотекам POCO без проблем. Это влияет только на Poco :: Data :: ODBC.
Примечание : я связываю библиотеки с параметрами -lPocoDataODBC -lPocoData -lPocoNet -lPocoJSON -lPocoUtil -lPocoFoundation -lPocoNetSSL -lPocoXML
Подобный вопрос я вижу в этот вопрос но без ответа ...