Название: QT и WinAPI Отправлено: npopok от Февраль 20, 2006, 16:28 Решил я cpp-шный свой старый файл с определением класса в новый проект QT вставить, чтобы и кнопочки легко создавать и старыми функциями пользоваться.QT совсем не знаю.Так он мне выдал 100 ошибок и все они с Winioctl.h связаны.Ошибки такого плана:
error C2146: syntax error : missing ';' before identifier 'Size' и error C2501: '_STORAGE_HOTPLUG_INFO::DWORD' : missing storage-class or type specifiers Может кто знает в чем дело? Название: Re: QT и WinAPI Отправлено: Steven_Orko от Февраль 20, 2006, 18:15 Цитата: "npopok" Решил я cpp-шный свой старый файл с определением класса в новый проект QT вставить, чтобы и кнопочки легко создавать и старыми функциями пользоваться.QT совсем не знаю.Так он мне выдал 100 ошибок и все они с Winioctl.h связаны.Ошибки такого плана: error C2146: syntax error : missing ';' before identifier 'Size' и error C2501: '_STORAGE_HOTPLUG_INFO::DWORD' : missing storage-class or type specifiers Может кто знает в чем дело? Кто "он"? Думаю, что имеется ввиду компилятор. Какой? У меня в Msdn такого номера ошибки (error C2501) нет, а msdn-ка одна из свежих. Цитировать Error Message C2146 syntax error : missing 'token' before identifier 'identifier' The compiler expected token and found identifier instead. Possible causes: Spelling or capitalization error. Missing type specifier in the declaration of the identifier. This error may be caused by a typographical error. Error C2065 usually precedes this error. Код: // C2146.cpp This error can also be generated as a result of compiler conformance work that was done for Visual Studio .NET 2003: missing typename keyword. See Summary of Compile-Time Breaking Changes for more information. The following sample compiles in Visual Studio .NET 2002 but will fail in Visual Studio .NET 2003: Код: // C2146b.cpp You will also see this error as a result of compiler conformance work that was done for Visual Studio .NET 2003: explicit specializations no longer find template parameters from primary template. The use of T from the primary template is not allowed in the explicit specialization. For code to be valid in the Visual Studio .NET 2003 and Visual Studio .NET versions of Visual C++, replace all instances of the template parameter in the specialization with the explicitly specialized type. See Summary of Compile-Time Breaking Changes for more information. The following sample compiles in Visual Studio .NET but will fail in Visual Studio .NET 2003: Код: // C2146_c.cpp Название: QT и WinAPI Отправлено: npopok от Февраль 21, 2006, 12:29 Дело не в самой ошибке,если можно так сказать. Не QT-шный проект компилируется легко, да и файл Winioctl.h я не менял. Просто когда я в проект QT добавляю файл, написанный на WINAPI? эта ошибка вылезает. Может так вообще делать нельзя?может опции какие поменять надо-я не знаю. Написать более понятно тоже затрудняюсь.
У меня есть готовый класс NDevice.Мне хочется в QTпроекте писать так NDevice dev; dev.SendCommand(бла-бла-бла). Это возможно? Название: QT и WinAPI Отправлено: Steven_Orko от Февраль 21, 2006, 14:20 Нет, можно. Тролли по этому поводу писали где-то, что их классы должны добавляться первыми. Попробуй последовать их совету. Может сработает?
|