построить общую библиотеку cpp-netlib

Я пытаюсь использовать boost и cpp-netlib. Статическая библиотека cpp-netlib о 40м(релизная версия), даже ссылка на небольшой helloworld может быть очень медленный. Так что я хотел бы попробовать динамический dll + import lib при разработке, как я могу собрать dll + lib для cpp-netlib?

Я пытался изменить CMakeLists.txt, добавить ОБЩИЙ на линии

add_library(cppnetlib-uri SHARED ${CPP-NETLIB_URI_SRCS})
add_library(cppnetlib-server-parsers SHARED ${CPP-NETLIB_HTTP_SERVER_SRCS})
add_library(cppnetlib-client-connections SHARED ${CPP-NETLIB_HTTP_CLIENT_SRCS})

но только .длл генерируются, нет .Lib. Google говорит, что должны быть функции экспорта. Таким образом, одним из способов может быть написание фиктивной функции и экспорт их для генерации .lib?
Любым другим путем?

2

Решение

Это невозможно до текущей версии 0.12.0 cpp-netlib. Компоновщик будет генерировать библиотеку импорта для DLL только в том случае, если (и только если) одна или несколько функций экспортируются с использованием __declspec(dllexport) атрибут или файл DEF. Однако эта функция в настоящее время не реализована в коде библиотеки. Вот почему после сборки вы можете видеть только библиотеки DLL, но не соответствующие им библиотеки импорта.

Этот раздел официальная документация подтверждает, что генерируются только статические библиотеки:

Начиная с версии 0.9.3, cpp-netlib создает три статические библиотеки. С помощью
Visual C ++ на Windows они являются:

cppnetlib-клиент-connections.lib
cppnetlib-сервера parsers.lib
cppnetlib-uri.lib

Пользователи могут найти их в ~ / cpp-netlib-build / libs / network / src.

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

1

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector