+ Ответить в теме
Страница 1 из 5 12 ... ПоследняяПоследняя
Показано с 1 по 20 из 98

Тема: Осваиваем SDK. Установка и компиляция SDK. Вопросы по SDK.

  1. #1

    Red face Осваиваем SDK. Установка и компиляция SDK. Вопросы по SDK.

    Данная статья является частью проекта "Осваиваем 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" и добавляете папки компиляторов, в зависимости от того куда вы их установили, лучше ставить по умолчанию.
    Код:
    C:\Program Files\Microsoft Visual C++ Toolkit 2003\inсludе
    C:\Program Files\Microsoft Platform SDK\inсludе
    (В моем случае Диск:\Program Files\Microsoft Visual C++ Toolkit 2003\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 ! Уряаа!
    продвинь это сообщение в соцсеть:  
    Последний раз редактировалось Snake_B; 09.01.2016 в 20:57.
    Я иду меж стен и дворцовых башен,
    Мимо перекрестков веков и лиц,
    Мимо городов, площадей и пашен,
    Познавая мир на холсте страниц.

  2. #2

    Red face

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

    В будущем было бы неплохо добавить пару примеров/заданий для начинающих sdk-моддеров: как увеличить лимит игроков, как увеличить городской радиус и тп.

    PS. Выделил в отдельную тему, чтобы сразу бросалась в глаза.
    продвинь это сообщение в соцсеть:  

  3. #3
    <div class='quotetop'>Цитата(NeverMind * 19.9.2009, 12:31) [snapback]307616[/snapback]</div>
    Хальк Юсдаль, в очередной раз ты делаешь очень важную работу!
    [/b]
    А он вообще молодец!
    продвинь это сообщение в соцсеть:  
    Чтобы тебя любили — приходится быть со всеми хорошим каждый день.
    Чтобы ненавидели — напрягаться не приходится вообще.
    Гомер Симпсон

  4. #4
    Спасибо.

    А насчет примеров, их не в первый пост, не хочется править, но добавлю. Например в этот.

    Для изменения максимального числа игроков в файле CvDefines.h найти.

    [code]#define
    продвинь это сообщение в соцсеть:  
    Я иду меж стен и дворцовых башен,
    Мимо перекрестков веков и лиц,
    Мимо городов, площадей и пашен,
    Познавая мир на холсте страниц.

  5. #5
    Добрый день!
    В процессе установки, настройки и попыток освоения столкнулся с такой проблемой - "fatal error C1083 - windows.h not found"
    Решение нашел тут, но возникла новая проблема - "fatal error LNK1112: module machine type &#39;IA64&#39; conflicts with target machine type &#39;X86&#39;" и вот ее я уже не знаю как решить. Пожалуйста, подскажите!
    продвинь это сообщение в соцсеть:  

  6. #6
    Добрый день.
    Могу пока только посоветовать проверить, не было ли пропущенных в процессе установки пунктов. В частности был ли установлен VC++ Toolkit 2003?
    продвинь это сообщение в соцсеть:  
    Я иду меж стен и дворцовых башен,
    Мимо перекрестков веков и лиц,
    Мимо городов, площадей и пашен,
    Познавая мир на холсте страниц.

  7. #7
    <div class='quotetop'>Цитата(Хальк Юсдаль * 22.9.2009, 15:06) [snapback]307957[/snapback]</div>
    Добрый день.
    Могу пока только посоветовать проверить, не было ли пропущенных в процессе установки пунктов. В частности был ли установлен VC++ Toolkit 2003?[/b]
    Был установлен. К тому же, иначе бы, думаю, я не мог бы его выбрать в списке compiler&#39;ов.

    продвинь это сообщение в соцсеть:  

  8. #8
    Пробую переставить...возможно, что-то где-то криво встало. Не могли бы вы мне подсказать, какую именно версию SDK ставили вы (из предложенного здесь)?
    У меня процессор AMD64x2, раз на него ругаются, может я не то скачал....
    Хотя странно, из скачиваемых инсталляторов только PSDK-x86 запускается; PSDK-amd64 и PSDK-ia64 отказываются запускаться, пишут, что к win32 они не имеют отношения....
    продвинь это сообщение в соцсеть:  

  9. #9
    Я скачивал прямо по ссылке, с автозапуском установки.
    http://kael.civfanatics.net/files/PSDK-x86.exe
    Но у меня процессор старый Celeron. x32 вероятнее всего. Так как Windows XP x86. (Или как там по правильному)
    продвинь это сообщение в соцсеть:  
    Я иду меж стен и дворцовых башен,
    Мимо перекрестков веков и лиц,
    Мимо городов, площадей и пашен,
    Познавая мир на холсте страниц.

  10. #10
    <div class='quotetop'>Цитата(Хальк Юсдаль * 23.9.2009, 14:41) [snapback]308077[/snapback]</div>
    Я скачивал прямо по ссылке, с автозапуском установки.
    http://kael.civfanatics.net/files/PSDK-x86.exe
    Но у меня процессор старый Celeron. x32 вероятнее всего. Так как Windows XP x86. (Или как там по правильному)
    [/b]
    Я так же...и Windows XP у меня...странно. Ладно, попробую еще раз!
    продвинь это сообщение в соцсеть:  

  11. #11
    Полководец Аватар для Gesse


    Регистрация
    26.12.2007
    Адрес
    Россия,Магнитогорск
    Сообщений
    454
    Так очередной глупый вопрос...
    Так как с MS Visual Studio 2008 Pro я раньше не работал, да впрочем я не работал вообще с VSками.
    Вообщем, можно ли открыть в VS dll файл и как это сделать ?
    Просто в питоне можно компилить и декомпилить. Тут же поидее так же это возможно ?
    Если есть знающие люди поясните пожалуйста
    продвинь это сообщение в соцсеть:  
    Не важно... что было сказано или написано... все это от незнания и неумения выбрать верное среди многого...

    Мои взгляды на то какой должна быть глобальная стратегия

  12. #12
    Вобщето DLL это компонент приложения и прямым способом его менять нельзя (ну если ты супермегавундеркинд то можеш попробовать - любой текстовый редактор подойдет ). VS 2008 это кампилятор, но для цывы он не подходит - нужен VS 2003. Кампилятор может создавать новый DLL из SDK. SDK - это набор файлов написаных на языке С++. Изменения делаются в SDK.
    продвинь это сообщение в соцсеть:  
    Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
    Мой мод

  13. #13
    Полководец Аватар для Gesse


    Регистрация
    26.12.2007
    Адрес
    Россия,Магнитогорск
    Сообщений
    454
    Ну насчет файлов С++, VS2008 pro + SP1 нормально работает с файлами цивы...
    Почему не подходит то ?
    Просто меня волновал вопрос dll, т.к. эта область для меня новая, то мне хотелось бы узнать как можно открывать и редактировать файлы такого типа...
    продвинь это сообщение в соцсеть:  
    Не важно... что было сказано или написано... все это от незнания и неумения выбрать верное среди многого...

    Мои взгляды на то какой должна быть глобальная стратегия

  14. #14
    <div class='quotetop'>Цитата</div>
    Ну насчет файлов С++, VS2008 pro + SP1 нормально работает с файлами цивы...Почему не подходит то ?Просто меня волновал вопрос dll, т.к. эта область для меня новая, то мне хотелось бы узнать как можно открывать и редактировать файлы такого типа...[/b]
    Почему именно сказать не могу, мало сам знаю, но бытует мнение, что на VS2005, можно редактировать с шаманством, а VS2008 не подойдет вообще. А основано оно не на пустом месте Так что придется либо 2003 устанавливать, либо методом описанным в этой теме пользоваться.
    продвинь это сообщение в соцсеть:  
    Я иду меж стен и дворцовых башен,
    Мимо перекрестков веков и лиц,
    Мимо городов, площадей и пашен,
    Познавая мир на холсте страниц.

  15. #15
    Полководец Аватар для Gesse


    Регистрация
    26.12.2007
    Адрес
    Россия,Магнитогорск
    Сообщений
    454
    Ну просто реально не пойму в чем проблема, если есть плагины ?
    Там же в файлах только текст программ (скрипты по сути), в чем проблема то ?
    В компиляции ? В сохранении файлов ?
    Епт, да при установке же сразу спрашивает какие модули подключать, там есть VS2003, VS2005, VSTeam...
    Поясните в чем особенность, из-за которой можно только 2003 пользоватся ?
    продвинь это сообщение в соцсеть:  
    Не важно... что было сказано или написано... все это от незнания и неумения выбрать верное среди многого...

    Мои взгляды на то какой должна быть глобальная стратегия

  16. #16
    <div class='quotetop'>Цитата(Gesse * 25.9.2009, 23:13) [snapback]308505[/snapback]</div>
    Поясните в чем особенность, из-за которой можно только 2003 пользоватся ?[/b]
    В правилах С++ ,в разных версиях они разные. У меня VS 2008 не компилирует SDK, выдает кучу ошибок и предупреждений.
    продвинь это сообщение в соцсеть:  
    Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
    Мой мод

  17. #17
    Возникает ошибка:
    CvDLLPython.obj:: error LNK2019: unresolved external symbol "void __cdecl boost::throw_exception(class exception const &)" (?throw_exception[на]boost[на][на]YAXABVexception[на][на][на]Z) referenced in function "public: __thiscall boost::detail::shared_count::shared_count<class CyCity *,struct boost:ython::converter::shared_ptr_deleter>(class CyCity *,struct boost:ython::converter::shared_ptr_deleter)" (??$?0PAVCyCity[на][на]Ushared_ptr_deleter[на]converter[на]python[на]boost[на][на][на]shared_count[на]detail[на]boost[на][на]QAE[на]PAVCyCity[на][на]Ushared_ptr_deleter[на]converter[на]pyth
    ..\Assets\CvGameCoreDLL.dll:: fatal error LNK1120: 1 unresolved externals
    :: === Build finished: 2 errors, 0 warnings ===

    Все описанные действия выполнил по шагам. Версии софта скачены с указанных ресурсов, тока кодеблок мой старенький стоит, бьюлд от 9-го июля 2007-го, с всобаченными вх-ми. SDK скачан с зеркала: http://www.3ddownloads.com/Strategy/Civili..._SDK_source.zip.
    Либу user32 взял из стандартной поставки masm32 (больше не было нигде ).

    Без неё таких ругачки вылазило три штуки, ещё на две функции. С этой либой две прошли, третья вот не хочет чё-то Может дело в версии user32? И где тогда поискать честный вариант библиотечки?

    Подскажите, пожалуйста, если кто сталкивался или знает чё делать, чтоб собрать без правки исходников?

    С уважением, Волод.
    продвинь это сообщение в соцсеть:  

  18. #18
    Опа, вопрос снят, всё собралось

    Если кто вдруг столкнётся с такой проблемой: у меня она решилась установкой кодеблока. Версия, в которой я пытался собрать прежде, не была установлена в системе (в реестр может чё-то нужное пишет, я **) и в ней по дефолту стоял GCC, а мелкомягкий я устанавливал только для сборки конкретного проекта SDK. Скачал инсталлятор, поставил, выбрал мелгомягкий по дефолоту и всё отлично собралось.

    С уважением, Волод.
    продвинь это сообщение в соцсеть:  

  19. #19
    Для первого раза решил скампилировать DLL из оригинальных файлов SDK. Сделал все по инструкции, полученый DLL вышел на ~1.5 Mb больше оригинального (>6 Mb).
    У всех такие большие DLLки получаются?
    продвинь это сообщение в соцсеть:  
    Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
    Мой мод

  20. #20


    <div class='quotetop'>Цитата</div>
    Для первого раза решил скампилировать DLL из оригинальных файлов SDK. Сделал все по инструкции, полученый DLL вышел на ~1.5 Mb больше оригинального (>6 Mb).
    У всех такие большие DLLки получаются?[/b]
    У меня да. Чтобы размер был как в оригинальном, то стоит поставить галочку на Minimize space, насчет необходимости убирания галочки с Maximize speed не уверен.
    продвинь это сообщение в соцсеть:  
    Я иду меж стен и дворцовых башен,
    Мимо перекрестков веков и лиц,
    Мимо городов, площадей и пашен,
    Познавая мир на холсте страниц.

+ Ответить в теме
Страница 1 из 5 12 ... ПоследняяПоследняя

Похожие темы

  1. Осваиваем питон (от простого к сложному)
    от swan в разделе Вопросы и гайды по моддингу Civ4
    Ответов: 107
    Новое: 30.11.2015, 14:49
  2. [Решено]Осваиваем SDK: как правильно посадить лес?
    от Blacksun в разделе Вопросы и гайды по моддингу Civ4
    Ответов: 75
    Новое: 12.08.2013, 11:45
  3. Осваиваем SDK. Описание SDK.
    от Blacksun в разделе Вопросы и гайды по моддингу Civ4
    Ответов: 110
    Новое: 05.09.2009, 04:07
  4. установка русификации
    от JEKA в разделе Русификация Civilization IV
    Ответов: 7
    Новое: 15.12.2005, 20:20

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru

free counters