Данная статья является частью проекта "Осваиваем SDK".
* * * * *
В общем статья о том как редактировать и компилировать SDK, не имея Visual Studio 2003 (Visual C++ 7). Использована, а по большему счету вольно переведена статья Kael'я в свою очередь основанной на посте DaveMcW. Почти все ссылки и изображения взяты из статьи и ведут на файлы выложенные Kael'ем.
Подготовка.
Первым делом стоит отключить атрибут "Только чтение" для всех файлов SDK. Обычно она уже отключена, но может и потребоваться принудительное отключение.
Выделяем папку CvGameCoreDLL -> Свойства -> Снимаем галочку с "Только чтение"->Выбираем "К этой папке и ко всем вложенным папкам и файлам".
Установка:
1. Скачиваем VC++ Toolkit 2003 и устанавливаем его. 31.5 МБ
2. Скачиваем 3 библиотеки и кидаем в C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib. Это msvcrt.lib, msvcrtd.lib, и msvcprt.lib (ЗЕРКАЛО: http://www.redforce.civfanatics.ru/sdk/lib.rar).
3. Скачиваем Platform SDK. также можно использовать internet explorer, для автоматической установки (рекомендуется). ОСТОРОЖНО она скачивает все нужное ей с инета, у меня папка в итоге заняла 878 МБ. Преимущественно для обладателей анлима.
4. Скачиваем CodeBlocks тот что "without compiler" и устанавливаем его.
Настройка
5. При первом запуске CodeBlocks, появиться список компиляторов. Выберите Microsoft Visual C++ Toolkit и щелкните Set As Default. И OK.
6. В CodeBlocks переходите в меню Settings->Compiler. Выбираете закладку "Directories" и добавляете папки компиляторов, в зависимости от того куда вы их установили, лучше ставить по умолчанию.
(В моем случае Диск:\Program Files\Microsoft Visual C++ Toolkit 2003\inсludе там уже было.)Код:C:\Program Files\Microsoft Visual C++ Toolkit 2003\inсludе C:\Program Files\Microsoft Platform SDK\inсludе
В закладке Directories/Linker добавляете следующие папки.
Код:C:\Program Files\Microsoft Visual C++ Toolkit 2003\Lib C:\Program Files\Microsoft Platform SDK\Lib
7. Открываете в CodeBlocks файл \CvGameCoreDLL\CvGameCoreDLL.vcproj . В появляющихся меню выбираем Microsoft Visual C++ Toolkit 2003, а в следующем меню
также соглашаемся. (OK) (Тут пока не очень понял достаточно лишь Final Release Win32 выбирать, или желательно на всех галочки оставить).
8. Далее меню Project->Build options->Final Release Win32. На закладке "Compiler Flags" снимаем галочку с "Produce debugging symbols [/Zi]". (У меня её там не было, но это все равно почти не помогло -> см далее.)
В закладке "Other options", изменяем EHsc на /EHsc, и удаляем /ZI
На закладке "Linker" добавляем новую библиотеку, называя её user32. Там же удаляете в linker option "/pdb:Final Release\CvGameCoreDLL.pdb" и "/pdb:Final Debug Win32\CvGameCoreDLL_DEBUG.pdb" Жмете OK.
9. Далее удаляем в основном окне программы, Workspace/CvGameCoreDLL/Resources/CvGameCoreDLL.rc - Выбираем "Remove from project".
10. File->Save project. Это создаст CodeBlocks project (.cbp), который можно будет окрыть в будущем.
11. Выбираете Build target -> Final Release Win32. После этого нажимаете значок Build
И в итоге получаете \..\Assets\CvGameCoreDLL.dll ! Уряаа!