静态 CRT link
Static CRT link
我正在尝试构建我的项目,我想 link 静态地 windows CRT,但我在尝试 link 时发现一些错误,
我已将这些包含在 linking 列表中:
- libcmt.lib
- LIBCPMT.LIB
- libucrt.lib
- libvcruntime.lib
但我收到这些 linking 错误,说缺少这些符号:
- __imp_copysignf
- __imp__aligned_free
- __imp__aligned_malloc
- __imp_modf
- __imp_modff
我已经添加了 libucrt(必须是 malloc 函数但仍然出错),我缺少什么库?
编辑:我正在使用 Visual Studio 2017 15.4.4 目标 Windows 10 ver.10.0.16299.0
仔细检查您是否还设置了 /MT
compiler flag. If it is not set, it is possible that it defaults to dynamic linking setting. In that case, _MT
preprocessor define is missing, which causes the compiler to use calls to dynamic runtime functions. You can see the __imp__
prefix that normally comes from DLL import libraries。
我正在尝试构建我的项目,我想 link 静态地 windows CRT,但我在尝试 link 时发现一些错误,
我已将这些包含在 linking 列表中:
- libcmt.lib
- LIBCPMT.LIB
- libucrt.lib
- libvcruntime.lib
但我收到这些 linking 错误,说缺少这些符号:
- __imp_copysignf
- __imp__aligned_free
- __imp__aligned_malloc
- __imp_modf
- __imp_modff
我已经添加了 libucrt(必须是 malloc 函数但仍然出错),我缺少什么库?
编辑:我正在使用 Visual Studio 2017 15.4.4 目标 Windows 10 ver.10.0.16299.0
仔细检查您是否还设置了 /MT
compiler flag. If it is not set, it is possible that it defaults to dynamic linking setting. In that case, _MT
preprocessor define is missing, which causes the compiler to use calls to dynamic runtime functions. You can see the __imp__
prefix that normally comes from DLL import libraries。