代码之家  ›  专栏  ›  技术社区  ›  TomáÅ¡ Zato

我可以用不同于我使用的库的迭代器调试级别链接项目吗?

  •  0
  • TomáÅ¡ Zato  · 技术社区  · 6 年前

    因为处理的数据量很大, _ITERATOR_DEBUG_LEVEL 开始是一个问题-在调试,程序是如此缓慢,它永远不会完成。所以我已经准备好了 _ITERATOR_DEBUG_LEVEL=0 重新编译了这个项目。

    1>libboost_program_options-vc100-mt-gd-1_55.lib(options_description.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in ADProvider.obj
    

    我的问题是:有没有可能忽略这个错误,不管怎样链接这个项目?只要它运行,我不在乎可能的后果。我真的需要调试这个问题。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Ulrich Eckhardt    6 年前

    不同的预构建Boost库背后的原因正是它们不是二进制兼容的。换句话说,类型的对象 foo 根据这些设置,内存中可能有不同的布局,例如不同的大小。因此,混合是不可能的。