构建cpp-netlib共享库
build cpp-netlib shared library
我正在尝试使用boost和cpp-netlib。cpp-netlib的静态库大约40m(发布版本),即使链接到一个小helloworld也可能非常慢。所以我想在开发时尝试动态dll+导入库,我如何为cpp-netlib构建dll+lib ?
我尝试修改CMakeLists.txt,将SHARED添加到
行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})
只生成.dll,没有.lib。谷歌说必须有输出功能。所以一种方法可能是编写一些虚拟函数并导出它们以生成。lib?还有别的办法吗?
在当前0.12.0版本的cpp-netlib之前是不可能的。当(且仅当)使用__declspec(dllexport)
属性或DEF文件导出一个或多个函数时,链接器才会为DLL生成一个导入库。然而,这个特性目前还没有在库的代码中实现。这就是为什么在构建之后,您只能看到dll,而不能看到它们各自的导入库。
官方文档的这一部分确认只打算生成静态库:
从0.9.3版本开始,cpp-netlib生成了三个静态库。使用Windows上的Visual c++:
cppnetlib-client-connections。自由
cppnetlib-server-parsers。自由
cppnetlib-uri.lib用户可以在~/cpp-netlib-build/libs/network/src中找到。
如果您想大幅度减少构建时间,我建议您预编译包含在代码中的库的头文件。
相关文章:
- CPP-Netlib Hello World 示例不会在 Linux 上编译
- 无法使用 Boost 框架制作 cpp-netlib boost.sh 脚本
- 无法通过CPP-Netlib发送发布请求
- 有关如何使用cpp-netlib进行异步HTTP获取请求的示例
- 将CPP-Netlib集成到预先存在的Boost软件包
- 是否可以更改HTTP客户端超时期限(cpp-netlib)
- CPP-Netlib 问题,在抛出 'boost::exception_detail::clone_impl 的实例后调用终止
- C++ 编译器找不到 cpp-netlib 提升库,没有这样的文件或目录
- 在 Xcode 6 中运行 cpp-netlib - 编译但在运行时崩溃
- 使用cpp-netlib的异步客户端响应
- 具有cpp-netlib的Https服务器
- 对 'boost::chrono::system_clock:now()' 的未定义引用 - Boost 和 cpp-netlib
- 编译 cpp-netlib 源代码时出错
- 在Windows下的C++项目中使用cpp-netlib
- CMake 找不到 cpp-netlib 库
- 无法编译 cpp-netlib 示例
- 如何使用代码::Blocks或MinGW在Windows上构建CPP-NETLIB库
- 为什么我的简单cpp-netlib程序需要这么长时间才能编译
- cpp-netlib重定向后获取雅虎财经内容失败
- 构建cpp-netlib共享库