Статическая ссылка CRT

я пытаюсь построить свой проект, и я хочу статически связать окна CRT, но я нахожу некоторые ошибки, пытаясь связать его,

Я включил в список ссылок эти:

  • libcmt.lib
  • LIBCPMT.LIB
  • libucrt.lib
  • libvcruntime.lib

но я получаю эти ошибки связывания, говоря, что эти символы отсутствуют:

  • __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


person Malium    schedule 20.11.2017    source источник
comment
Какая у вас версия Visual Studio/MSVC?   -  person ivanmoskalev    schedule 20.11.2017


Ответы (1)


Дважды проверьте, что вы также установили /MT флаг компилятора. Если он не установлен, возможно, по умолчанию используется параметр динамического связывания. В этом случае определение препроцессора _MT отсутствует, что заставляет компилятор использовать вызовы динамических функций времени выполнения. Вы можете увидеть префикс __imp__, который обычно приходит из библиотек импорта DLL.

person ivanmoskalev    schedule 20.11.2017