【问题标题】:visual studios 2008 library issues视觉工作室 2008 库问题
【发布时间】:2010-08-04 15:44:50
【问题描述】:

我正在使用我构建的第三方静态库(发行版)。现在,我正在构建自己的静态库(只是添加了一些特定于我想要与第三方静态库一起执行的功能)。我的库构建了很好的发布版本。但是,现在当我在 vs2008 中创建测试应用程序时,我打算与外部方共享这个库(它是我正在使用的免费静态库,因此许可不是问题),然后我只创建了一个我使用的复合库。通过 lib.exe 获取我的静态库 + 第三方库。但是这样做似乎我得到了很多 lnk2001。当我尝试手动添加一些我认为丢失的 obj 时,它说它们已经是我创建的静态库的一部分。所以当我把那些 obj 拿出来时,它会出现 lnk2001 未解析的链接。不知道还能在这里做什么。

所以看来,当我只是在测试应用程序中使用我的静态库时,我将与第三方共享以作为如何使用我的静态库的示例...它说如下:

lnk2005 已经定义了 mystaticlib(test.obj)。绝大多数 lnk2005 的所有案例都报告了这个 test.obj。

错误 11 错误 LNK2005: "public: class std::basic_string,class std::allocator > & __thiscall std::basic_string,class std::allocator >::operator=(class std::basic_string,class std: :allocator > const &)" (??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z) 已在 mylib 中定义。 lib(cryptlib.obj) msvcprt.lib TestApp

【问题讨论】:

    标签: visual-c++


    【解决方案1】:

    好的,在这种情况下,答案是我弄乱了 vs2008 中的设置。请确保在代码生成下创建静态库时,它的多线程/mt。只需确保一直使用 /mt 设置。

    【讨论】:

      猜你喜欢
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 2011-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多