VC ++: ошибка fprintf в режиме выпуска - PullRequest
3 голосов
/ 04 ноября 2011

Я работаю в Visual Studio 2010, и у меня есть код, написанный на C.

Если я запускаю в режиме «Отладка», код будет работать без ошибок или предупреждений.

Но если я выполню то же самое в режиме «Release», появятся ошибки и предупреждения.

Список ошибок:

        warning C4013:'fprintf' undefined; assuming extern returning int
        error C2065: 'stdout': undeclared identifier

В чем причина?пожалуйста помогите

Ответы [ 2 ]

2 голосов
/ 04 ноября 2011
warning C4013:'fprintf' undefined; assuming extern returning int

Похоже, вы не включили stdio.h.

0 голосов
/ 21 июля 2013

Похоже на разницу в конфигурации между Release и Debug.Проверьте значения для «Оптимизация всей программы», они могут отличаться между двумя конфигурациями сборки.


У меня была та же проблема в обратном порядке: в режиме выпуска все было хорошо, но в режиме отладки некоторые функции, такие как'ext' (библиотека FFTW) была объявлена ​​как "неопределенная; при условии, что extern возвращает int".

В конфигурации с ошибкой сборки (в моем случае это Release) в свойствах проекта Configuration Properties > General установлен параметр "Оптимизация всей программы"No Whole Program Optimization.

Для конфигурации успешной сборки было установлено значение Use Link Time Code Generation.Когда я установил эту опцию и в своей неудачной цели, все работало нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...