Собирать будем с помощью Visual Studio 2012, под Windows 10 (версия 1903) x64, пригодится так же Notepad++
Инструкция создана на базе информации из статьи Сборка из исходников плагина l4dtoolz под Windows, от автора с ником 'iHX"
Для сборки необходимо скачать исходники hl2sdk, Metamod:Source, Sourcemod, FileNetMessages, во всех 4 репозиториях нажимаем на кнопку
Скачиваем исходники hl2sdk для Left 4 dead 2
https://github.com/alliedmodders/hl2sdk/tree/l4d2
Скачиваем исходники для Metamod:Source 1.10
https://github.com/alliedmodders/metamod-source/tree/1.10-dev
Скачиваем исходники для Sourcemod 1.9 Stable
https://github.com/alliedmodders/sourcemod/tree/1.9-dev
Скачиваем исходники для FileNetMessages
https://github.com/dordnung/FileNetMessages
В папке куда сохраняли будет 4 архива
Открываем папку \Documents\Visual Studio 2012\Projects и создаем в ней папку alliedmodders_FileNetMessages
Переходим в созданную нами папку alliedmodders_FileNetMessages, и распаковываем в нее скаченные исходники
Переименовываем папку metamod-source-1.10-dev в mmsource-central, а
папку sourcemod-1.9-dev в sourcemod-central
Открываем папку FileNetMessages-master и кладем в нее файлы которые необходимы для сборки:
sp_typeutil.h
sp_vm_api.h
sp_vm_types.h
Их так же можно найти в папке include репозитория alliedmodders/sourcepawn
Далее заходим в папку FileNetMessages-master, переходим папку sdk и перемещаем файл smsdk_config.h в папку FileNetMessages-master, после чего удаляем папку sdk, должно получится вот такое содержимое папки FileNetMessages-master
Заходим в папку msvc13 и открываем фаил FileNetMessages.vcxproj в Notepad++, нам нужно исправить в нем пути
Начинаем менять содержимое, для ускорения процесса советую использовать функцию поиска и замены встроенную в Notepad++, CTRL + F закладка замена, пример использования на скриншоте
Поехали менять, находим
$(SOURCEMOD)
Меняем на
..\..\sourcemod-central
Находим
$(MMSOURCE)
Меняем на
..\..\mmsource-central
Находим
$(HL2SDKL4D2)
Меняем на
..\..\hl2sdk-l4d2
Находим
<ClCompile Include="..\sdk\smsdk_ext.cpp" />
Меняем на
<ClCompile Include="..\..\sourcemod-central\public\smsdk_ext.cpp" />
Находим
<ClInclude Include="..\sdk\smsdk_config.h" />
<ClInclude Include="..\sdk\smsdk_ext.h" />
Меняем на
<ClInclude Include="..\smsdk_config.h" />
<ClInclude Include="..\..\sourcemod-central\public\smsdk_ext.h" />
Находим
ToolsVersion="12.0"
Меняем на
ToolsVersion="4.0"
Находим
<PlatformToolset>v120</PlatformToolset>
Меняем на
<PlatformToolset>v110</PlatformToolset>
Теперь открываем фаил FileNetMessages.vcxproj.filters в Notepad++, тут тоже нужно исправить пути
Находим
<ClCompile Include="..\sdk\smsdk_ext.cpp">
Меняем на
<ClCompile Include="..\..\sourcemod-central\public\smsdk_ext.cpp">
Находим
<ClInclude Include="..\sdk\smsdk_config.h">
Меняем на
<ClInclude Include="..\smsdk_config.h">
Находим
<ClInclude Include="..\sdk\smsdk_ext.h">
Меняем на
<ClInclude Include="..\..\sourcemod-central\public\smsdk_ext.h">
Теперь двойным кликом открываем FileNetMessages.vcxproj в Visual Studio 2012, и сверху в списке Release выбираем Release - Left 4 Dead 2
Далее сверху нажимаем ПОСТРОЕНИЕ, потом Построить решение
Результаты смотрим в консоли, если написано Построение: успешно: 1, значит вы все сделали правильно
Заходим в папку Documents\Visual Studio 2012\Projects\alliedmodders_FileNetMessages\FileNetMessages-master\msvc13\Release - Left 4 Dead 2 и забираем собранный filenetmessages.ext.2.l4d2.dll
Готовый FileNetMessages.vcxproj и FileNetMessages.vcxproj.filters с изменениями из данной инструкции
FileNetMessages.vcxproj
FileNetMessages.vcxproj.filters
Собранный в ходе урока filenetmessages.ext.2.l4d2.dll
filenetmessages.ext.2.l4d2.dll