воскресенье, 1 марта 2009 г.

Windows Development Hell

Текущий проект заставил меня вернуться к программированию под Windows.
Прошло два дня активной работы и у меня уже сдают нервы.
Я конечно все понимаю, но не так же все плохо?

Собираю библиотеку libavcap. Она требует Platform SDK, ок, ставлю.
Дальше, BaseClasses захотели DirectX SDK. Ну, скачал поставил.
А оно не работает! Оказывается разработчики или ответственные за
сборку пакета "забыли" добавить файлик dxtrans.h, начал гуглить, действительно.
Причем, эта проблема, как я понял, уже с давних пор. Ждут исправления в Windows 7. Шок.

Порадовал дизайн инсталлятора DirectX.
Почему именно Check Box там, где должен быть Radio Button? Умом их не понять...


Собирая strmbasd.lib, намучался с путями Development Environment Command Prompts.
То они видят cl и не видят link, то не видят вообще ничего...

Во время сборки nmake останавливался раза четыре. Из-за ошибок в коде.

Например, в файле outputq.cpp:635 был код, примерно следующего вида:
for (long iDone = 0;....;) {
}
*nSamplesProcessed = iDone - iLost;


Старый стандарт, это понятно. Но SDK-то не старый!!!
И так еще в 3 файлах и более чем в 10 местах. Поправив все вручную, вроде собралось.

Кстати, при сборке и запуске Register Development Environment Variables у меня пропал файл,
или студия начала ссылаться на несуществующий... mspdb80.dll

Нашел, скопировал, студия перестала вообще что-либо собирать.
Вручную отредактировал пути поиска програм и библиотек,
удалил библиотеку - вроде заработало.

Итого, двое суток мозгосношений и ни строчки собственного кода в попытке сборки чужого.

Становится все интереснее...

2 комментария:

T-Rex комментирует...

Ссылку дай на статью где написано что действительно файлик забыли в SDK?
И это, Syntax Highlight поставь :)

Андрей Булавинов комментирует...

Я дал ссылку, http://social.msdn.microsoft.com/Forums/en-US/windowssdk/thread/ed097d2c-3d68-4f48-8448-277eaaf68252/