После перевода проекта с VS7.1 на VS8 при компиляции debug версии мне выдается куча сообщений об ошибках компиляции.
Таких:
error C2059: syntax error : 'constant' c:\program files\microsoft visual studio 8\vc\include\stdlib.h 488
error C2733: second C linkage of overloaded function '_dupenv_s_dbg' not allowed c:\program files\microsoft visual studio 8\vc\include\stdlib.h 488
И таких:
Error 83 error C2039: 'calloc' : is not a member of '`global namespace'' c:\program files\microsoft visual studio 8\vc\include\cstdlib 22
Error 84 error C2873: 'calloc' : symbol cannot be used in a using-declaration c:\program files\microsoft visual studio 8\vc\include\cstdlib 22
L_L>Не могли бы вы выделить минимальный пример, на котором воспроизводится данная ошибка?
В том то и дело, что все эти ошибки указывают на библиотеки stdlib.h и cstdlib.
При компиляции в 7 студии их не возникало — вот я и подумал, что с этой библиотекой что-то случилось.
Или где-то она у меня неправильно используется, что компилятор 7 студии позволял.
АК>В том то и дело, что все эти ошибки указывают на библиотеки stdlib.h и cstdlib.
При простом подключении <stdlib.h> или <cstdlib> таких ошибок нет. Значит, ИМХО, что-то включается до stdlib.h, что и приводит к проблемам.
Of course, the code must be complete enough to compile and link.
Здравствуйте, Александр Кузнецов, Вы писали:
АК>После перевода проекта с VS7.1 на VS8 при компиляции debug версии мне выдается куча сообщений об ошибках компиляции. АК>Таких:
АК>
АК>error C2059: syntax error : 'constant' c:\program files\microsoft visual studio 8\vc\include\stdlib.h 488
АК>error C2733: second C linkage of overloaded function '_dupenv_s_dbg' not allowed c:\program files\microsoft visual studio 8\vc\include\stdlib.h 488
АК>
АК>И таких:
АК>
АК>Error 83 error C2039: 'calloc' : is not a member of '`global namespace'' c:\program files\microsoft visual studio 8\vc\include\cstdlib 22
АК>Error 84 error C2873: 'calloc' : symbol cannot be used in a using-declaration c:\program files\microsoft visual studio 8\vc\include\cstdlib 22
АК>
АК>Может знаете, с чем это может быть связано?
Собираешь проект из командной строки и на компьютере сейчас установлены обе версии VS?
Эта ошибка может возникать из-за того, что при компиляции запускается файл cl.exe из версии 7.1, а путь к заголовочным файлам указан для версии 8.0. Проверь значения переменных окружения или удали предыдущую версию компилятора.
AN>Собираешь проект из командной строки и на компьютере сейчас установлены обе версии VS?
AN>Эта ошибка может возникать из-за того, что при компиляции запускается файл cl.exe из версии 7.1, а путь к заголовочным файлам указан для версии 8.0. Проверь значения переменных окружения или удали предыдущую версию компилятора.
После переустановки Windows vs7.1 я не ставил вообще.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
АК>>В том то и дело, что все эти ошибки указывают на библиотеки stdlib.h и cstdlib. L_L>При простом подключении <stdlib.h> или <cstdlib> таких ошибок нет. Значит, ИМХО, что-то включается до stdlib.h, что и приводит к проблемам.
Я нашел в чем дело. Это баг самой VS8 — нужно SP1 установить: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=99509
мне он не помог... у них какой-то баг при разворачивании вложенных дефайнов когда в дефайн передается параметром пустая строка...
я пока забил обошелся воркэраундом...
пля весь день сегодня убил...
когда в коде юзают __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1 передавая в качестве _DeclSpec пустую строку, то в самом низу эта пустая строка превращается в число 1... может это и не баг в чистом виде, дальше рыться уже нет желания...
Здравствуйте, Александр Кузнецов, Вы писали:
АК>После перевода проекта с VS7.1 на VS8 при компиляции debug версии мне выдается куча сообщений об ошибках компиляции. АК>Таких:
АК>
АК>error C2059: syntax error : 'constant' c:\program files\microsoft visual studio 8\vc\include\stdlib.h 488
АК>error C2733: second C linkage of overloaded function '_dupenv_s_dbg' not allowed c:\program files\microsoft visual studio 8\vc\include\stdlib.h 488
АК>
АК>И таких:
АК>
АК>Error 83 error C2039: 'calloc' : is not a member of '`global namespace'' c:\program files\microsoft visual studio 8\vc\include\cstdlib 22
АК>Error 84 error C2873: 'calloc' : symbol cannot be used in a using-declaration c:\program files\microsoft visual studio 8\vc\include\cstdlib 22
АК>
__>мне он не помог... у них какой-то баг при разворачивании вложенных дефайнов когда в дефайн передается параметром пустая строка... __>я пока забил обошелся воркэраундом...
__>пля весь день сегодня убил...
Мне тоже не особо — скомпилировалась, но работать не стала. Куча багов с памятью. Поэтому плюнул и пишу дальше в 2003 студии.