2016-08-11 13 views
0

У меня есть проект, который я собирал с использованием visual studio 2008 по соображениям совместимости. Это была настоящая боль, и я тестирую совместимость с visual studio 2015. У меня есть пользовательские шаги сборки для нескольких объектных файлов qt, которые можно запустить через MOC, а затем скомпилировать их вместе со сборкой. Всякий раз, когда я пытаюсь скомпилировать один из MOC файлов в 2015 году, я получаю следующую последовательность ошибок:Компиляция файлов moc Qt 4.5.2 intrin.h неожиданный тип «void» Visual Studio 2015

moc_class.cpp 
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\intrin.h(200): error C2062: type 'void' unexpected 
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\intrin.h(200): error C2144: syntax error: 'void' should be preceded by '(' 
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\intrin.h(200): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\intrin.h(200): error C2365: '_InterlockedCompareExchange': redefinition; previous definition was 'function' 

Любая причина, почему это будет происходить? Я нахожусь у стены и не могу найти никакой информации по этому вопросу. Используя qt 4.5.2.

+1

Qt * 4.5.2 *? Это не поддерживается в течение * лет * теперь и не может работать с VS 2015. – peppe

+0

@peppe. Новым для фреймворка не было известно, что он был настолько древним. Благодаря! – jdkuki

ответ

0

Qt4 не будет работать в Visual Studio 2015, если вы строите эту версию (4.5.2) в Qt из исходного кода самостоятельно с помощью Visual Studio 2015

Другой вариант должен был бы изменить проект таким образом, что он становится совместимым с Qt5. Вы можете узнать больше о том, как это сделать здесь: https://wiki.qt.io/Transition_from_Qt_4.x_to_Qt5.

+0

Ahh спасибо! Я пытался найти совместимость в Интернете, но не мог найти какой-либо qt-doc для того, что он поддерживает. Очень полезно! – jdkuki

+0

Добро пожаловать. Имейте в виду: лучший способ поблагодарить stackoverflow - принять/поддержать ответ, который вам помог, узнать, почему: http://meta.stackexchange.com/a/5235/320234 – vicrucann