当在Windows10中编译我的Rust应用程序时,它是针对ucrtbase.dll链接的;但是,此dll在某些版本的Windows Server 2008 R2 Datacenter上不存在,这使得我的应用程序无法执行。我尝试将-Ctarget-feature=+crt-static设置为找到的here,但它没有做任何事情; ldd app.exe仍然显示此dll。是否有办法删除对该dll的依赖项?
ucrtbase.dll
-Ctarget-feature=+crt-static
ldd app.exe
1tuwyuhd1#
如果您的Rust应用不依赖于特别需要MSVC工具链的C库,您可以为x86_64-pc-windows-gnu(或i686-pc-windows-gnu,为32位CPU构建)目标构建它。This target links to DLLs that are available in all Windows versions。有关不同Windows ABI的更多信息,请查看this documentation page。
x86_64-pc-windows-gnu
i686-pc-windows-gnu
1条答案
按热度按时间1tuwyuhd1#
如果您的Rust应用不依赖于特别需要MSVC工具链的C库,您可以为
x86_64-pc-windows-gnu
(或i686-pc-windows-gnu
,为32位CPU构建)目标构建它。This target links to DLLs that are available in all Windows versions。有关不同Windows ABI的更多信息,请查看this documentation page。