我试图将dll编码为使用C ++的某个系统的插件。这个插件将使用另一个库,它是一个.lib文件,因此只能输出一个.dll文件。所以我希望我的dll中包含其他.lib文件。应该只有一个dll文件和lib文件,因此我可以将这个dll文件作为单文件插件包含在系统中。这可能吗?如何?
我使用的是Visual C ++ 2010 Express。
谢谢。
答案 0 :(得分:2)
不幸的是,VS链接器没有相当于ld
的{{3}}的选项,可以用来包含整个库。
最好的办法是解压缩库并链接到生成的目标文件中。您可以使用图书管理员(lib
工具)。要列出库的所有成员,请使用--whole-archive
。必须使用lib /LIST
逐个提取目标文件。