在库中包含库

时间:2015-07-24 19:08:29

标签: visual-c++ static-libraries

我环顾四周(包括StackOverflow),但据我所知,唯一接近我的问题是Windows可分发的,这对我来说并不适用。

我想发布一个库:MyLibrary.lib 它使用一些第三方库,例如ZMQ 我已将#pragma中的第三方库包含到MyLibrary中,或者实际将其添加到项目中。 无论哪种方式,MyLibrary.lib编译正常并创建.lib文件

但是。 链接到MyLibrary的可执行文件在链接时抱怨它无法找到引用的ZMQ函数,就好像ZMQ没有合并到MyLibrary中一样。

使用十六进制编辑器查看MyLibrary,看起来并不像ZMQ.LIB。有参考,但似乎"弱链接"。我在那里看不到ZMQ代码。

或者,如果我可以让应用程序/可执行文件构建并运行它,它会在运行时抱怨它无法找到zmq.dll。

无论哪种方式,它显然不在" MyLibrary"。

如何让图书馆包含其他第三方图书馆,所以我不必单独分发一堆图书馆?我错过了什么步骤?

使用MSVC2013

由于

2 个答案:

答案 0 :(得分:1)

虽然我需要.lib,但事实证明它是一个导入库,并且.dll分布在别处。我找到了.dll,现在它可以工作了。感谢所有回复的人。

答案 1 :(得分:0)

本文中描述的标志如何: https://msdn.microsoft.com/en-US/library/2kzt1wy3%28v=vs.120%29.aspx 他们可以帮助你吗?