Я разрабатываю приложение на C ++, которое читает и пишет в Excel, используя OLE-автоматизацию (код, основанный на этом: http://support.microsoft.com/kb/216686).
Приложение было нормально запущено, когда я использовал VS2010. Однако недавно я решил перейти на Eclipse, и вдруг компилятор (CL) не распознает структуру структуры VARIANT (doc: http://msdn.microsoft.com/en-us/library/aa908601.aspx). Например, в этом фрагменте кода:
VARIANT tmp;
tmp.vt = VT_R4;
tmp.fltVal = 5.0f;
tmp.fltVal не может быть разрешен в Eclipse (хотя он отлично работает в VS2010 и во всех примерах кода, которые я видел в сети). Единственный способ заставить Eclipse перестать отображать ошибку — заменить две последние строки на:
tmp.n1.n2.vt = VT_R4;
tmp.n1.n2.n3.fltVal = 5.0f;
То же самое касается tmp.parray и всех других членов VARIANT.
Кто-нибудь сталкивался с этим раньше? Что мне здесь не хватает?
PS: нет, замена кода везде не совсем вариант
Задача ещё не решена.
Других решений пока нет …