Я сделал некоторые изменения в nsMediaStream.h / cpp в коде Mozilla (6.0.2), и для одного из них требуется, чтобы я получил строку ASCII из класса nsIURI, используемого платформой Mozilla для представления и анализа URI.Кажется, достаточно просто, можно подумать.Документация Mozilla (https://developer.mozilla.org/en/nsIURI) говорит мне, что я могу использовать атрибут asciiSpec для получения такой строки. Документация для nsACString ужасно сбивает с толку, но это другой вопрос.когда я пытаюсь использовать переменную nsIURI mURI для nsMediaStream, используя
mURI->asciiSpec
, я получаю следующую ошибку от компилятора MSVC:
[..]/content/media/nsMediaStream.cpp(146) :
error C2039: 'asciiSpec' : is not a member of 'nsIURI'
[..]\obj-i686-pc-mingw32\dist\include\nsIURI.h(83) : see declaration of 'nsIURI'
Когда я смотрю на указанный файл nsIURI.h, который генерируется из файла интерфейса IDL, я вижу следующее: http://google -web-toolkit.googlecode.com / svn / plugin-sdks / gecko-sdks / gecko-1.9.0 / include / nsIURI.h
Насколько я могу судить, указанный заголовочный файл не имеет никакого отношения к nsIURI, как это используется в коде Mozilla, и кажется скорее интерфейсом / прототипом, чем реальным классом. Ни один из атрибутов иметоды, перечисленные в документации, присутствуют. MSVC, похоже, согласен со мной в этом.После того, как я выжил в системе сборки, я не могу понять это, как и любой другой, кого я спрашивал до сих пор.Любые подсказки будут более чем оценены :)