在Solaris上与studio 12.5链接时有多个libgcc_s库

时间:2016-11-08 10:08:17

标签: linker solaris-studio

我正在尝试迁移到Developer Studio 12.5并启用C ++ 11选项。我的软件使用/ usr / sfw中的Oracle提供的库链接openssl。这似乎取决于比现在用于C ++ 11 STL的libgcc_s.so更旧。所以我得到以下内容:

using System.Reflection;
...

private void someMethod(string myTypeString, List<Values> typeList)
{
    PropertyInfo pi = typeof(Values)
      .GetProperty(myTypeString,
         System.Reflection.BindingFlags.Instance | 
         System.Reflection.BindingFlags.NonPublic | // private/internal/protected  
         System.Reflection.BindingFlags.Public);

    // property exists, can be read and returns DateTime
    if (null == pi)
      return; // or throw exception
    else if (!pi.CanRead)  
      return; // or throw exception 
    else if (pi.PropertyType != typeof(DateTime))
      return; // or throw exception

    foreach(var type in typeList
      .Where(x => (DateTime) (pi.GetValue(x, null)) > DateTime.Now))
    {
        //do my loop
    }
}

两个libgcc_s.so实例是否有某种方法可以在一个二进制文件中共存,其中libcrypto引用一个,从STL引用到另一个?查看Oracle链接器和库文档显示了一些有前途的选项,例如-B group,但这可能仅适用于dlopen。

我意识到我可以重新编译openssl(或者libressl)但是使用操作系统中的那个会更好,我的同事认为Sun的构建在SPARC上使用了硬件加密功能。

0 个答案:

没有答案