Здравствуйте.
Раньше писал под 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 с определенными ключами, вопросс какими?)