Предупреждение компоновщика при использовании stdscr (ncurses)

Итак, я получаю эти предупреждения всякий раз, когда пытаюсь использовать stdscr в pdcurses:

LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4049: locally defined symbol "_stdscr" imported
LINK : warning LNK4049: locally defined symbol "_SP" imported

Как это исправить? Это всего лишь предупреждения, но когда я запускаю свою программу, она падает, поэтому они, вероятно, как-то связаны с ней. Особенно учитывая тот факт, что строка, в которой происходит сбой, использует stdscr...

1 ответ

Обычно вы видите это в MSVC, когда у вас есть программа, вызывающая библиотеки, построенные по другой модели RTL.

Посмотрите в ваших "опциях компилятора", возможно, в разделе "генерация кода". Вы должны быть в состоянии найти настройки библиотеки времени выполнения.

Это может говорить о отладке / многопоточности / сингле...

Убедитесь, что настройки библиотеки времени выполнения для вашей программы совпадают с настройками всех библиотек. Это должно позаботиться о проблеме.

Что касается сбоя, я рекомендую найти образец программы для pdcurses онлайн. В теории это должно компилироваться и функционировать правильно. Используйте это в качестве основы для исправления настроек библиотеки, а затем измените ее в нужную форму.

Другие вопросы по тегам