我们的产品包含我们发送给客户的DLL。
在提供Windows 8版本时,我注意到我无法静态链接CRT,否则使用我们的DLL的应用程序无法通过认证。
我找不到任何提到这个的文件。有人知道为什么不可能或如何实现它?
我们的产品仅使用malloc / free和数学函数。静态链接CRT会更加简单,而不是要求每个链接我们的应用程序安装正确的vc redist。 (和ffs为什么不是通过Windows Update频道部署的vc redists?)
答案 0 :(得分:1)
只能使用VS 2012和当前的CRT构建Windows应用商店应用。关键点是Windows Store应用程序不支持CRT的静态链接。
以下是有关CRT的更多信息:
Windows应用商店应用,Windows运行时和C运行时 http://msdn.microsoft.com/en-us/library/hh972425.aspx
以下是UNSUPPORTED crt例程列表: http://msdn.microsoft.com/en-us/library/hh674596.aspx
Rob Caplan在这里写道:“如果您的lib链接到符合Metro风格应用程序的C运行时,您将能够调用标准C函数,例如fopen。您可以针对App Cert Kit进行测试以确认。早于VC 2012的运行时将无效
您的应用仍将受到安全沙箱的约束,并且不会在其应用数据和包之外拥有访问目录。“