首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构建cpp-netlib共享库

构建cpp-netlib共享库
EN

Stack Overflow用户
提问于 2014-07-04 14:41:39
回答 1查看 813关注 0票数 2

我试着用boost和。cpp-netlib的静态库大约是40m(发行版),即使链接到一个小型helloworld,也可能是非常的慢。因此,在开发时,我想尝试一下动态dll+导入库,如何为cpp构建dll+lib?

我尝试修改CMakeLists.txt,将共享添加到行中

代码语言:javascript
复制
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?还有别的办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-04 04:40:22

到当前版本0.12.0的cpp是不可能的。如果(并且只有当)使用__declspec(dllexport)属性或DEF文件导出一个或多个函数时,链接器将只为DLL生成一个导入库。但是,这是目前在库的代码中没有实现的特性。这就是为什么在构建之后,您可以只看到DLL,而不能看到它们各自的导入库。

正式文件的这一部分确认只生成静态库:

从0.9.3版本开始,cpp将生成三个静态库。在Windows上使用VisualC++,它们是: cppnetlib-client-connections.lib cppnetlib-server-parsers.lib cppnetlib-uri.lib 用户可以在~/构建/libs/src/src中找到它们。

如果您想大大减少构建时间,我建议您在代码中包含库的头文件( 预编译 )。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24576689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档