<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.miranda-ng.org/index.php?action=history&amp;feed=atom&amp;title=User%3ARMN%2FHow_to_compile_Miranda_plugins_on_one%27s_own</id>
	<title>User:RMN/How to compile Miranda plugins on one&#039;s own - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.miranda-ng.org/index.php?action=history&amp;feed=atom&amp;title=User%3ARMN%2FHow_to_compile_Miranda_plugins_on_one%27s_own"/>
	<link rel="alternate" type="text/html" href="https://wiki.miranda-ng.org/index.php?title=User:RMN/How_to_compile_Miranda_plugins_on_one%27s_own&amp;action=history"/>
	<updated>2026-10-20T13:19:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.miranda-ng.org/index.php?title=User:RMN/How_to_compile_Miranda_plugins_on_one%27s_own&amp;diff=14845&amp;oldid=prev</id>
		<title>RMN: outdated info removed: such problems never occur with Miranda NG repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.miranda-ng.org/index.php?title=User:RMN/How_to_compile_Miranda_plugins_on_one%27s_own&amp;diff=14845&amp;oldid=prev"/>
		<updated>2015-03-31T13:45:41Z</updated>

		<summary type="html">&lt;p&gt;outdated info removed: such problems never occur with Miranda NG repository&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:45, 31 March 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l60&quot;&gt;Line 60:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 60:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:VS - batch build.jpg|600px|center]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:VS - batch build.jpg|600px|center]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Примечания ==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1. Если возникла ошибка с хидером &amp;lt;tt&amp;gt;winres.h&amp;lt;/tt&amp;gt;, то поступаем по одному из предложенных вариантов:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Скачиваем файл &amp;lt;tt&amp;gt;winres.h&amp;lt;/tt&amp;gt; (см. [[#Прикрепленные файлы|Прикрепленные файлы]]) и помещаем его в папку &amp;lt;tt&amp;gt;C:/Program Files/Microsoft SDKs/Windowsv7.0A/Include&amp;lt;/tt&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Заменяем в коде все хидеры &amp;lt;tt&amp;gt;winres.h&amp;lt;/tt&amp;gt; на &amp;lt;tt&amp;gt;winresrs.h&amp;lt;/tt&amp;gt;. После чего ищем файл &amp;lt;tt&amp;gt;winresrs.h&amp;lt;/tt&amp;gt; в папке &amp;lt;tt&amp;gt;C:/Program Files/Microsoft SDKs/Windowsv7.0A/Include&amp;lt;/tt&amp;gt; и добавляем следующие строки (в начало):&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre style=&quot;overflow:auto;&quot;&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#ifdef IDC_STATIC&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#undef IDC_STATIC&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#endif&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#define IDC_STATIC			  (-1)	 // all static controls&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2. Если возникла ошибка с хидером &amp;lt;tt&amp;gt;afxres.h&amp;lt;/tt&amp;gt;, то заменяем его на &amp;lt;tt&amp;gt;winres.h&amp;lt;/tt&amp;gt;. Или скачиваем файл &amp;lt;tt&amp;gt;afxres.h&amp;lt;/tt&amp;gt; (см. [[#Прикрепленные файлы|Прикрепленные файлы]]) и помещаем его в папку &amp;lt;tt&amp;gt;C:/Program Files/Microsoft SDKs/Windowsv7.0A/Include&amp;lt;/tt&amp;gt;.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Внимание ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Внимание ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l97&quot;&gt;Line 97:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 75:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Рекомендуется использовать с осторожностью и только опытным пользователям.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Рекомендуется использовать с осторожностью и только опытным пользователям.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Прикрепленные файлы ==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* afxres.h&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* winres.h&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Авторы данного руководства:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Авторы данного руководства:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Креол, mozzila (дополнения, сборка материала и скриншоты)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Креол, mozzila (дополнения, сборка материала и скриншоты)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki_miranda_ng_org:diff:1.41:old-14811:rev-14845:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>RMN</name></author>
	</entry>
	<entry>
		<id>https://wiki.miranda-ng.org/index.php?title=User:RMN/How_to_compile_Miranda_plugins_on_one%27s_own&amp;diff=14811&amp;oldid=prev</id>
		<title>RMN: screenshot width</title>
		<link rel="alternate" type="text/html" href="https://wiki.miranda-ng.org/index.php?title=User:RMN/How_to_compile_Miranda_plugins_on_one%27s_own&amp;diff=14811&amp;oldid=prev"/>
		<updated>2015-03-29T14:52:22Z</updated>

		<summary type="html">&lt;p&gt;screenshot width&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:52, 29 March 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l39&quot;&gt;Line 39:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Мы собираем в 2010 студии, следовательно нам нужна папка &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;bin10&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;, именно там находится проектный файл под эту версию — &amp;lt;tt&amp;gt;miranda32.sln&amp;lt;/tt&amp;gt;. Откроем его.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Мы собираем в 2010 студии, следовательно нам нужна папка &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;bin10&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;, именно там находится проектный файл под эту версию — &amp;lt;tt&amp;gt;miranda32.sln&amp;lt;/tt&amp;gt;. Откроем его.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:VS - solution screen.jpg|center]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:VS - solution screen.jpg&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|600px&lt;/ins&gt;|center]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Слева мы видим решения проектов для модулей и ядра Miranda. Прежде чем собрать решение, нам необходимо установить режим компилирования: &amp;#039;&amp;#039;&amp;#039;Release Unicode&amp;#039;&amp;#039;&amp;#039; для Unicode версии плагина или &amp;#039;&amp;#039;&amp;#039;Release&amp;#039;&amp;#039;&amp;#039; для ANSI. В настройках решения (ПКМ по решению проекта) &amp;#039;&amp;#039;Properties → C/С++ → Code generations → Runtime Library&amp;#039;&amp;#039; — необходимо установить для создания статического билда значение &amp;#039;&amp;#039;&amp;#039;MT&amp;#039;&amp;#039;&amp;#039; или, для динамического, &amp;#039;&amp;#039;&amp;#039;MD&amp;#039;&amp;#039;&amp;#039;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Слева мы видим решения проектов для модулей и ядра Miranda. Прежде чем собрать решение, нам необходимо установить режим компилирования: &amp;#039;&amp;#039;&amp;#039;Release Unicode&amp;#039;&amp;#039;&amp;#039; для Unicode версии плагина или &amp;#039;&amp;#039;&amp;#039;Release&amp;#039;&amp;#039;&amp;#039; для ANSI. В настройках решения (ПКМ по решению проекта) &amp;#039;&amp;#039;Properties → C/С++ → Code generations → Runtime Library&amp;#039;&amp;#039; — необходимо установить для создания статического билда значение &amp;#039;&amp;#039;&amp;#039;MT&amp;#039;&amp;#039;&amp;#039; или, для динамического, &amp;#039;&amp;#039;&amp;#039;MD&amp;#039;&amp;#039;&amp;#039;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:VS - runtime library.jpg|center]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:VS - runtime library.jpg&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|600px&lt;/ins&gt;|center]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;В случае с портабельностью надо четко понимать, что существует определенная проблематика. Возьмем, к примеру, ядро и плагины Миранды, собранные динамически в 2003 студии. Чтобы обеспечить портабельность такой сборки, необходимо всего лишь закинуть рантаймы 2003 студии в корень папки Миранды, и все (&amp;lt;tt&amp;gt;msvcr71&amp;lt;/tt&amp;gt; и т.п.). В случае если плагины собираются динамически в более поздних версиях студий, то просто кинуть рантаймы в папку с Мирандой не получится. К сожалению, более поздние версии рантаймов требуют в системе наличие файла манифеста для установленных рантаймов.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;В случае с портабельностью надо четко понимать, что существует определенная проблематика. Возьмем, к примеру, ядро и плагины Миранды, собранные динамически в 2003 студии. Чтобы обеспечить портабельность такой сборки, необходимо всего лишь закинуть рантаймы 2003 студии в корень папки Миранды, и все (&amp;lt;tt&amp;gt;msvcr71&amp;lt;/tt&amp;gt; и т.п.). В случае если плагины собираются динамически в более поздних версиях студий, то просто кинуть рантаймы в папку с Мирандой не получится. К сожалению, более поздние версии рантаймов требуют в системе наличие файла манифеста для установленных рантаймов.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l55&quot;&gt;Line 55:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 55:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Далее жмем правой кнопкой по интересующему нас проекту и нажимаем &amp;#039;&amp;#039;&amp;#039;Rebuild Solution&amp;#039;&amp;#039;&amp;#039;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Далее жмем правой кнопкой по интересующему нас проекту и нажимаем &amp;#039;&amp;#039;&amp;#039;Rebuild Solution&amp;#039;&amp;#039;&amp;#039;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:VS - rebuild.jpg|center]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:VS - rebuild.jpg&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|600px&lt;/ins&gt;|center]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Также существует возможность компиляции сразу для нескольких режимов, для этого нажмите кнопку &amp;#039;&amp;#039;&amp;#039;Batch Build…&amp;#039;&amp;#039;&amp;#039; (ПКМ по проекту).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Также существует возможность компиляции сразу для нескольких режимов, для этого нажмите кнопку &amp;#039;&amp;#039;&amp;#039;Batch Build…&amp;#039;&amp;#039;&amp;#039; (ПКМ по проекту).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:VS - batch build.jpg|center]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:VS - batch build.jpg&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|600px&lt;/ins&gt;|center]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Примечания ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Примечания ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>RMN</name></author>
	</entry>
	<entry>
		<id>https://wiki.miranda-ng.org/index.php?title=User:RMN/How_to_compile_Miranda_plugins_on_one%27s_own&amp;diff=14809&amp;oldid=prev</id>
		<title>RMN: User:RMN/How to compile Miranda plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.miranda-ng.org/index.php?title=User:RMN/How_to_compile_Miranda_plugins_on_one%27s_own&amp;diff=14809&amp;oldid=prev"/>
		<updated>2015-03-29T14:37:14Z</updated>

		<summary type="html">&lt;p&gt;User:RMN/How to compile Miranda plugins&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{PageLang|ru}}{{DISPLAYTITLE:Самостоятельная компиляция плагинов Miranda IM}}&lt;br /&gt;
{{Todo|lang=ru|This guide is a copy of the one from tutorials of &amp;lt;tt&amp;gt;miranda-planet.com&amp;lt;/tt&amp;gt; forums. It needs revision and adaptation to Miranda NG project.}}&lt;br /&gt;
Инструкция по самостоятельной компиляции плагинов &amp;#039;&amp;#039;&amp;#039;Miranda IM&amp;#039;&amp;#039;&amp;#039; из SVN.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Введение ==&lt;br /&gt;
Последнее время меня часто спрашивают как самостоятельно собрать тот или иной плагин для Миранды, или само ядро. Данный гайд пишется именно чтобы предотвратить в дальнейшем подобные вопросы. Начнем с главного: я не программист. Следовательно, людям искушенным в искусстве написания программ, просьба не ругаться и не бить сильно за те неточности, которые будут допущены ниже (а они будут, исходя из постулата что я не владею языками программирования).&lt;br /&gt;
&lt;br /&gt;
== Section1 ==&lt;br /&gt;
Ядро и плагины Миранды, находящиеся в ее основном репозитории, написаны на языке C и C++. Следовательно для того, чтобы собрать конечный продукт, нам будет необходим компилятор языка &amp;#039;&amp;#039;&amp;#039;C/C++&amp;#039;&amp;#039;&amp;#039;. Исходные коды Миранды и плагинов (большинства) содержат файлы проектов под &amp;#039;&amp;#039;&amp;#039;MS Visual Studio&amp;#039;&amp;#039;&amp;#039;. Правда тут небольшой нюанс: разные программисты пользуются разными версиями MS VS. В основном репозитории Миранды есть файл проектов к 2003, 2005 и 2008 студиям. В сторонних плагинах часто такой упорядоченности не бывает, и там выкладываются проекты только под конкретную студию, зачастую старую. Например, встречаются проекты под 6-ю версию (справка: MS VS 2003 — 7-я версия, 2005 — 8-я, 2008 — 9-я, 2010 — 10-я). Альтернативой компилятору, входящему в состав &amp;#039;&amp;#039;&amp;#039;MS VS&amp;#039;&amp;#039;&amp;#039;, является &amp;#039;&amp;#039;&amp;#039;MinGW&amp;#039;&amp;#039;&amp;#039;, в некоторых плагинах встречаются проекты и под него, но только в некоторых, поэтому уделять ему внимание не будем.&lt;br /&gt;
&lt;br /&gt;
Итак, рассмотрим в качестве примера компилятора &amp;#039;&amp;#039;&amp;#039;MS VS 2010 Express&amp;#039;&amp;#039;&amp;#039;. Для скачивания данной версии следует пройти по [http://www.microsoft.com/express/downloads этой ссылке]. Я настоятельно рекомендую воспользоваться именно английской версией, потому что русская среда разработки это, как минимум, странно. Плюс данной редакции в том, что она, по сравнению с другими версиями &amp;#039;&amp;#039;&amp;#039;VS&amp;#039;&amp;#039;&amp;#039;, мала и бесплатна. Также нам понадобится вторая чрезвычайно ценная и нужная программа — [http://tortoisesvn.net TortoiseSVN]. Скачав и установив данную программу (и, при желании, языковый пакет к ней), после перезагрузки системы мы увидим в контекстном меню &amp;#039;&amp;#039;&amp;#039;Windows&amp;#039;&amp;#039;&amp;#039; новые пункты:&lt;br /&gt;
&lt;br /&gt;
[[File:TortoiseSVN - menu items RU.png|center]]&lt;br /&gt;
&lt;br /&gt;
== Section2 ==&lt;br /&gt;
Следующим действием должно стать создание основной, корневой папки, где будут лежат исходные коды Миранды. Да-да, желательно иметь под рукой все исходники ядра и плагинов идущих с ядром. Для людей крайне ограниченных в трафике, необходимо иметь как минимум папку &amp;lt;tt&amp;gt;/include/&amp;lt;/tt&amp;gt; из репозитория Миранды (только если вы хотите собирать сторонние плагины). Из личного опыта могу сказать, что путь к локальной копии репозитория лучше сделать без пробелов и без русских символов в названиях папок. Например, путь к моей копии исходных кодов Миранды имеет такой вид: &amp;lt;tt&amp;gt;D:\Sources\miranda\&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак, создаем папку и, вызвав контекстное меню, нажимаем пункт «Извлечь». Появится окошко с просьбой ввести адрес репозитория (см. [[#Репозитории Miranda IM|ниже]]), с которого необходимо произвести скачивание исходных кодов.&lt;br /&gt;
&lt;br /&gt;
В папке, куда было указано скачивание исходников, вы найдете две директории: &amp;lt;tt&amp;gt;miranda&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;miranda-tools&amp;lt;/tt&amp;gt;. В первую очередь нас интересует папка &amp;lt;tt&amp;gt;miranda&amp;lt;/tt&amp;gt;. Структура папок внутри неё должна выглядеть следующим образом:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
bin&lt;br /&gt;
bin7&lt;br /&gt;
bin8&lt;br /&gt;
bin9&lt;br /&gt;
bin10&lt;br /&gt;
docs&lt;br /&gt;
i18n&lt;br /&gt;
include&lt;br /&gt;
lib&lt;br /&gt;
plugins&lt;br /&gt;
protocols&lt;br /&gt;
src&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Мы собираем в 2010 студии, следовательно нам нужна папка &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;bin10&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;, именно там находится проектный файл под эту версию — &amp;lt;tt&amp;gt;miranda32.sln&amp;lt;/tt&amp;gt;. Откроем его.&lt;br /&gt;
&lt;br /&gt;
[[File:VS - solution screen.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Слева мы видим решения проектов для модулей и ядра Miranda. Прежде чем собрать решение, нам необходимо установить режим компилирования: &amp;#039;&amp;#039;&amp;#039;Release Unicode&amp;#039;&amp;#039;&amp;#039; для Unicode версии плагина или &amp;#039;&amp;#039;&amp;#039;Release&amp;#039;&amp;#039;&amp;#039; для ANSI. В настройках решения (ПКМ по решению проекта) &amp;#039;&amp;#039;Properties → C/С++ → Code generations → Runtime Library&amp;#039;&amp;#039; — необходимо установить для создания статического билда значение &amp;#039;&amp;#039;&amp;#039;MT&amp;#039;&amp;#039;&amp;#039; или, для динамического, &amp;#039;&amp;#039;&amp;#039;MD&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:VS - runtime library.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
В случае с портабельностью надо четко понимать, что существует определенная проблематика. Возьмем, к примеру, ядро и плагины Миранды, собранные динамически в 2003 студии. Чтобы обеспечить портабельность такой сборки, необходимо всего лишь закинуть рантаймы 2003 студии в корень папки Миранды, и все (&amp;lt;tt&amp;gt;msvcr71&amp;lt;/tt&amp;gt; и т.п.). В случае если плагины собираются динамически в более поздних версиях студий, то просто кинуть рантаймы в папку с Мирандой не получится. К сожалению, более поздние версии рантаймов требуют в системе наличие файла манифеста для установленных рантаймов.&lt;br /&gt;
&lt;br /&gt;
Далее мнения расходятся, лично я считаю, что недостаточно кинуть в корень Миранды еще и файл манифеста к библиотекам, т.к. если оно и будет работать, не факт что корректно. Другие утверждают, что это выход и вроде все как окей пашет. Это что касательно динамической линковки.&lt;br /&gt;
&lt;br /&gt;
Теперь стоит поговорить о статической линковке. Плагины, собранные в условиях статической линковки, имеют как правило существенно больший размер, в отличие от динамической сборки (примерно в 2 раза). Но в то же время они лишены главного недостатка динамической линковки — требования наличия библиотек в системе. То есть, для плагинов собранных со статической линковкой не понадобятся библиотеки даже в корне Миранды. Именно такую вариацию лично я и предпочитаю.&lt;br /&gt;
&lt;br /&gt;
Немного о скорости. По логике понятно, что динамическая линковка оказывается быстрее статической, ненамного но все же. Я бы сказал, что такое утверждение правдиво для систем безантивирусной защиты, или тех антивирусов которые не отслеживают обращения сторонних программ к системным файлам, библиотекам и т.п. Проведя тесты на KIS 7 и 2009 могу сказать, что ощутимой разницы в скорости не заметно, пожалуй статическая линковка в данном случае шуршит даже быстрее. Также, важным моментом в этом деле является вопрос наличия оптимизации при сборке плагина: &amp;#039;&amp;#039;&amp;#039;sse&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;sse2&amp;#039;&amp;#039;&amp;#039;. Плагины, собранные динамически с оптимизациями &amp;#039;&amp;#039;&amp;#039;sse2&amp;#039;&amp;#039;&amp;#039;, по утверждениям пользователей, загружаются существенно быстрее чем без оптимизации, с &amp;#039;&amp;#039;&amp;#039;sse&amp;#039;&amp;#039;&amp;#039; или статические. Но, к сожалению, &amp;#039;&amp;#039;&amp;#039;sse2&amp;#039;&amp;#039;&amp;#039; поддерживают далеко не все типы процессоров, и если с &amp;#039;&amp;#039;&amp;#039;Intel&amp;#039;&amp;#039;&amp;#039; все более-менее окей (примерно последние 4–5 лет у них во всех процессорах есть поддержка этого набора инструкций) то с &amp;#039;&amp;#039;&amp;#039;AMD&amp;#039;&amp;#039;&amp;#039; все очень неоднозначно.&lt;br /&gt;
&lt;br /&gt;
Далее жмем правой кнопкой по интересующему нас проекту и нажимаем &amp;#039;&amp;#039;&amp;#039;Rebuild Solution&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:VS - rebuild.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Также существует возможность компиляции сразу для нескольких режимов, для этого нажмите кнопку &amp;#039;&amp;#039;&amp;#039;Batch Build…&amp;#039;&amp;#039;&amp;#039; (ПКМ по проекту).&lt;br /&gt;
&lt;br /&gt;
[[File:VS - batch build.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
1. Если возникла ошибка с хидером &amp;lt;tt&amp;gt;winres.h&amp;lt;/tt&amp;gt;, то поступаем по одному из предложенных вариантов:&lt;br /&gt;
* Скачиваем файл &amp;lt;tt&amp;gt;winres.h&amp;lt;/tt&amp;gt; (см. [[#Прикрепленные файлы|Прикрепленные файлы]]) и помещаем его в папку &amp;lt;tt&amp;gt;C:/Program Files/Microsoft SDKs/Windowsv7.0A/Include&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Заменяем в коде все хидеры &amp;lt;tt&amp;gt;winres.h&amp;lt;/tt&amp;gt; на &amp;lt;tt&amp;gt;winresrs.h&amp;lt;/tt&amp;gt;. После чего ищем файл &amp;lt;tt&amp;gt;winresrs.h&amp;lt;/tt&amp;gt; в папке &amp;lt;tt&amp;gt;C:/Program Files/Microsoft SDKs/Windowsv7.0A/Include&amp;lt;/tt&amp;gt; и добавляем следующие строки (в начало):&lt;br /&gt;
&amp;lt;pre style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
#ifdef IDC_STATIC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#undef IDC_STATIC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#define IDC_STATIC			  (-1)	 // all static controls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Если возникла ошибка с хидером &amp;lt;tt&amp;gt;afxres.h&amp;lt;/tt&amp;gt;, то заменяем его на &amp;lt;tt&amp;gt;winres.h&amp;lt;/tt&amp;gt;. Или скачиваем файл &amp;lt;tt&amp;gt;afxres.h&amp;lt;/tt&amp;gt; (см. [[#Прикрепленные файлы|Прикрепленные файлы]]) и помещаем его в папку &amp;lt;tt&amp;gt;C:/Program Files/Microsoft SDKs/Windowsv7.0A/Include&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Внимание ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SVN&amp;#039;&amp;#039;&amp;#039; — это хранилище кода, как правило, на стадии написания и тестирования.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;НЕ КОМПИЛИРУЙТЕ&amp;#039;&amp;#039;&amp;#039; плагины, если вы не уверены, что их работоспособность гарантирована. (Спасибо Awkward)&lt;br /&gt;
* Перед компилированием сделайте резервные копии рабочих плагинов.&lt;br /&gt;
&lt;br /&gt;
== Репозитории Miranda IM ==&lt;br /&gt;
* http://miranda.googlecode.com/svn/branches/stable/ — стабильная ветка&lt;br /&gt;
* http://miranda.googlecode.com/svn/trunk/ — альфа-версии сборок&lt;br /&gt;
&lt;br /&gt;
Для людей с ограниченным трафиком следует качать по ссылкам:&lt;br /&gt;
* http://miranda.googlecode.com/svn/branches/stable/miranda/include и&lt;br /&gt;
* http://miranda.googlecode.com/svn/trunk/miranda/include (только если вы хотите собирать сторонние плагины)&lt;br /&gt;
&lt;br /&gt;
Рекомендуется использовать с осторожностью и только опытным пользователям.&lt;br /&gt;
&lt;br /&gt;
== Прикрепленные файлы ==&lt;br /&gt;
* afxres.h&lt;br /&gt;
* winres.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Авторы данного руководства:&lt;br /&gt;
: Креол, mozzila (дополнения, сборка материала и скриншоты)&lt;/div&gt;</summary>
		<author><name>RMN</name></author>
	</entry>
</feed>