Название: Проблемы с time_t в VC9 Отправлено: neosapient от Октябрь 19, 2009, 10:07 Здравствуйте.
Раньше писал под Visual Studio 7, которая более дружелюбно относилась к 32-х битной переменной time_t. Но жизнь заставила перейти на Visual Studio 9. Одной из головных болей, которые при этом появились, является постаянная ошибка компилятора, при использовании переменной time_t. Подчас, проблему можно решить, используя дерективу #define _USE_32BIT_TIME_T в начале файлов заголовков или в настройке проекта. Но такой подход оказался неэффективен, когда я решил изучить пример examples\animation\animatedtiles (всего один main.cpp файл и набор картинок) из QT4.6 + kinetic Скопировал папку с примером на рабочий стол. Пересобрал проект командой Цитировать qmake -t vcapp .Запускаю компиляцию проекта, получил ошибку Цитировать error C2664: 'errno_t _wctime64_s(wchar_t *,size_t,const __time64_t *)' : cannot convert parameter 3 from 'const __time32_t *' to 'const __time64_t *' Пробовал вставлять #define _USE_32BIT_TIME_T в настройках проекта и среди #include-ов во всех сочетаниях, но это не помогло. Я уверен, что задачу решить можно, ведь при сборке QT4.6 + kinetic, все примеры собрались. Но не пойму, как подружить VC9 с 32-х разрядной time_t ? (проблема возникает в файле wtime.inl, который находиться внутри VC9: возможно стоит перекомпилировать QT4 с определенными ключами, вопросс какими?) Название: Re: Проблемы с time_t в VC9 Отправлено: neosapient от Октябрь 19, 2009, 19:15 Попробовал пересобрать саму QT - теперь и при работе configure вылезает такая же ошибка
Цитировать C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\wtime.inl(50) : error C2664: '_wctime64' : cannot convert parameter 1 from 'const __time32_t *' to 'const __time64_t *' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\wtime.inl(56) : error C2664: 'errno_t _wctime64_s(wchar_t *,size_t,const __time64_t *)' : cannot convert parameter 3 from 'const __time32_t *' to 'const __time64_t *' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.EXE"' : return code '0x2' Stop. Building qmake failed, return code 2 Возможно проблема в глобальных настройках компилятора ? ??? Название: Re: Проблемы с time_t в VC9 Отправлено: crackedmind от Октябрь 19, 2009, 21:28 Честно говоря похожих проблем не было.
Это "C:\Program Files (x86)\" говорит, что у вас 64-битная Виста или что-то такое :) У вас какая версия компилятора то работает х86 или х64? Название: Re: Проблемы с time_t в VC9 Отправлено: neosapient от Октябрь 20, 2009, 11:09 Это "C:\Program Files (x86)\" говорит, что у вас 64-битная Виста или что-то такое :) У вас какая версия компилятора то работает х86 или х64? Да, 64-битная Виста.Собираю с ключем х86. ----------------------- Поиск по яндексу и гуглу ничего не дал, в смысле вообще ничего. Ни кто ранее не писал о подобных ошибках. Сделал вывод, что студия "рухнула", хотя я её поставил две недели назад. В итоге вчера в конце дня снес VC9 через установку удаление, подчистил папки, проверил реестр на наличие подозрительно мусора (мусор остался, но никаких "волшебных" ключей не нашел). Затем установил студию с нуля. Собраная ранее QT4, boost и openssl подхватились сразу. :) Тема закрыта. |