C libidn build.a和.so lib给出不同的结果

C libidn build.a和.so lib给出不同的结果,c,unicode,normalization,.a,C,Unicode,Normalization,.a,我正在尝试使用GNULibidn,它是从源代码编译而来的。如果我使用libidn.so构建我的应用程序,该函数工作正常。(仅对函数stringprep\u profile()感兴趣。此函数用于Unicode密码规范化。) 但是,当我尝试使用文件构建时,相同的输入出现了分段错误。现在有点困惑 动态链接正确地获取任何依赖的共享lib,而静态编译可能会引入带有bug的旧代码?问题在于saslprep的查找表。它是由perl脚本生成的.h文件。这个脚本有我测试过的bug,它给了我2个不同的结果,分别在R

我正在尝试使用GNULibidn,它是从源代码编译而来的。如果我使用
libidn.so
构建我的应用程序,该函数工作正常。(仅对函数
stringprep\u profile()
感兴趣。此函数用于Unicode密码规范化。)


但是,当我尝试使用
文件构建时,相同的输入出现了分段错误。现在有点困惑

动态链接正确地获取任何依赖的共享lib,而静态编译可能会引入带有bug的旧代码?问题在于saslprep的查找表。它是由perl脚本生成的.h文件。这个脚本有我测试过的bug,它给了我2个不同的结果,分别在Redhat和MacOs中运行。最新的脚本似乎解决了bug。。。。。反正现在解决了。谢谢@马克塞尔