静态链接库而不导出其功能

时间:2014-08-17 09:47:09

标签: c++ linker symbols visual-studio-2012

我有一个C ++库,可以编译为静态库(比如foo.lib)。此foo.lib使用第三方静态库(lib1.liblib2.liblib3.lib)。我不想出口这些图书馆'任何形式的符号。
但是,链接失败,出现以下错误:

LNK1189 - "The limit of 65535 objects or members in a library has been exceeded".

这有什么解决方案吗? (第三方库不存在于动态库版本中)。

谢谢!

1 个答案:

答案 0 :(得分:0)

您应该能够使用.def文件手动选择要导出的符号。见http://msdn.microsoft.com/en-us/library/d91k01sh.aspx

如果没有,您可以通过明确写出要导出的符号(也通过.def文件)将自己打包在一个或多个DLL中。