尚实 發表於 2023-8-12 00:00:00

ubuntu 13.10编译安装mono环境(二)

<p>
        准备工作</p>
<p>
        先在VS2012上编译一个winform,代码如下:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlightercsharp" id="highlighter_547388">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="csharp keyword">using</code> <code class="csharp plain">System;</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="csharp keyword">using</code> <code class="csharp plain">System.Windows.Forms;</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="csharp keyword">namespace</code> <code class="csharp plain">FormsTest</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="csharp plain">{</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="csharp keyword">static</code> <code class="csharp keyword">class</code> <code class="csharp plain">Program</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="csharp plain">{</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="csharp color1">/// &lt;summary&gt;</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="csharp color1">/// 应用程序的主入口点。</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="csharp color1">/// &lt;/summary&gt;</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="csharp plain"></code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="csharp keyword">static</code> <code class="csharp keyword">void</code> <code class="csharp plain">Main()</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="csharp plain">{</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="csharp plain">Application.EnableVisualStyles();</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="csharp plain">Application.SetCompatibleTextRenderingDefault(</code><code class="csharp keyword">false</code><code class="csharp plain">);</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="csharp plain">Application.Run(</code><code class="csharp keyword">new</code> <code class="csharp plain">Form());</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="csharp plain">}</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="csharp plain">}</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="csharp plain">}</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        尝试在ubuntu上用mono运行:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_342852">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                        <div class="line number19 index18 alt2">
                                                                19</div>
                                                        <div class="line number20 index19 alt1">
                                                                20</div>
                                                        <div class="line number21 index20 alt2">
                                                                21</div>
                                                        <div class="line number22 index21 alt1">
                                                                22</div>
                                                        <div class="line number23 index22 alt2">
                                                                23</div>
                                                        <div class="line number24 index23 alt1">
                                                                24</div>
                                                        <div class="line number25 index24 alt2">
                                                                25</div>
                                                        <div class="line number26 index25 alt1">
                                                                26</div>
                                                        <div class="line number27 index26 alt2">
                                                                27</div>
                                                        <div class="line number28 index27 alt1">
                                                                28</div>
                                                        <div class="line number29 index28 alt2">
                                                                29</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~$ </code><code class="bash functions">cd</code> <code class="bash plain">Desktop/</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/Desktop</code><code class="bash plain">$ </code><code class="bash functions">ls</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">FormsTest.exe</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/Desktop</code><code class="bash plain">$ mono FormsTest.exe</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">Unhandled Exception:</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">System.TypeInitializationException: An exception was thrown by the </code><code class="bash functions">type</code> <code class="bash plain">initializer </code><code class="bash keyword">for</code> <code class="bash plain">System.Windows.Forms.XplatUI ---&gt; System.TypeInitializationException: An exception was thrown by the </code><code class="bash functions">type</code> <code class="bash plain">initializer </code><code class="bash keyword">for</code> <code class="bash plain">System.Drawing.GDIPlus ---&gt; System.DllNotFoundException: </code><code class="bash plain">/opt/mono-3</code><code class="bash plain">.2.8</code><code class="bash plain">/lib/libgdiplus</code><code class="bash plain">.so</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">at (wrapper managed-to-native) System.Drawing.GDIPlus:GdiplusStartup (ulong&amp;,System.Drawing.GdiplusStartupInput&amp;,System.Drawing.GdiplusStartupOutput&amp;)</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">at System.Drawing.GDIPlus..cctor () </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">--- End of inner exception stack trace ---</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">at System.Drawing.Graphics.FromHdcInternal (IntPtr hdc) </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">at System.Windows.Forms.XplatUIX11.SetDisplay (IntPtr display_handle) </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash plain">at System.Windows.Forms.XplatUIX11..ctor () </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash plain">at System.Windows.Forms.XplatUIX11.GetInstance () </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="bash plain">at System.Windows.Forms.XplatUI..cctor () </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="bash plain">--- End of inner exception stack trace ---</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="bash plain">at System.Windows.Forms.Application.EnableVisualStyles () </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="bash plain">at FormsTest.Program.Main () </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="bash plain"> FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the </code><code class="bash functions">type</code> <code class="bash plain">initializer </code><code class="bash keyword">for</code> <code class="bash plain">System.Windows.Forms.XplatUI ---&gt; System.TypeInitializationException: An exception was thrown by the </code><code class="bash functions">type</code> <code class="bash plain">initializer </code><code class="bash keyword">for</code> <code class="bash plain">System.Drawing.GDIPlus ---&gt; System.DllNotFoundException: </code><code class="bash plain">/opt/mono-3</code><code class="bash plain">.2.8</code><code class="bash plain">/lib/libgdiplus</code><code class="bash plain">.so</code>
</div>
                                                                <div class="line number19 index18 alt2">
                                                                        <code class="bash plain">at (wrapper managed-to-native) System.Drawing.GDIPlus:GdiplusStartup (ulong&amp;,System.Drawing.GdiplusStartupInput&amp;,System.Drawing.GdiplusStartupOutput&amp;)</code>
</div>
                                                                <div class="line number20 index19 alt1">
                                                                        <code class="bash plain">at System.Drawing.GDIPlus..cctor () </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                                <div class="line number21 index20 alt2">
                                                                        <code class="bash plain">--- End of inner exception stack trace ---</code>
</div>
                                                                <div class="line number22 index21 alt1">
                                                                        <code class="bash plain">at System.Drawing.Graphics.FromHdcInternal (IntPtr hdc) </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                                <div class="line number23 index22 alt2">
                                                                        <code class="bash plain">at System.Windows.Forms.XplatUIX11.SetDisplay (IntPtr display_handle) </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                                <div class="line number24 index23 alt1">
                                                                        <code class="bash plain">at System.Windows.Forms.XplatUIX11..ctor () </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                                <div class="line number25 index24 alt2">
                                                                        <code class="bash plain">at System.Windows.Forms.XplatUIX11.GetInstance () </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                                <div class="line number26 index25 alt1">
                                                                        <code class="bash plain">at System.Windows.Forms.XplatUI..cctor () </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                                <div class="line number27 index26 alt2">
                                                                        <code class="bash plain">--- End of inner exception stack trace ---</code>
</div>
                                                                <div class="line number28 index27 alt1">
                                                                        <code class="bash plain">at System.Windows.Forms.Application.EnableVisualStyles () </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                                <div class="line number29 index28 alt2">
                                                                        <code class="bash plain">at FormsTest.Program.Main () </code><code class="bash keyword">in</code> <code class="bash plain">&lt;filename unknown&gt;:0</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        遇到错误了System.DllNotFoundException: /opt/mono-3.2.8/lib/libgdiplus.so,原因是如果要在ubuntu运行winform,那么必须要安装libgdiplus。</p>
<p>
        <strong>下载libgdiplus并编译</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_415865">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                        <div class="line number19 index18 alt2">
                                                                19</div>
                                                        <div class="line number20 index19 alt1">
                                                                20</div>
                                                        <div class="line number21 index20 alt2">
                                                                21</div>
                                                        <div class="line number22 index21 alt1">
                                                                22</div>
                                                        <div class="line number23 index22 alt2">
                                                                23</div>
                                                        <div class="line number24 index23 alt1">
                                                                24</div>
                                                        <div class="line number25 index24 alt2">
                                                                25</div>
                                                        <div class="line number26 index25 alt1">
                                                                26</div>
                                                        <div class="line number27 index26 alt2">
                                                                27</div>
                                                        <div class="line number28 index27 alt1">
                                                                28</div>
                                                        <div class="line number29 index28 alt2">
                                                                29</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~$ </code><code class="bash functions">cd</code> <code class="bash plain">src</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src</code><code class="bash plain">$ wget http:</code><code class="bash plain">//download</code><code class="bash plain">.mono-project.com</code><code class="bash plain">/sources/libgdiplus/libgdiplus-2</code><code class="bash plain">.10.9.</code><code class="bash functions">tar</code><code class="bash plain">.bz2</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">--2014-03-27 22:46:40-- http:</code><code class="bash plain">//download</code><code class="bash plain">.mono-project.com</code><code class="bash plain">/sources/libgdiplus/libgdiplus-2</code><code class="bash plain">.10.9.</code><code class="bash functions">tar</code><code class="bash plain">.bz2</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">Resolving download.mono-project.com (download.mono-project.com)... 54.230.157.116, 54.230.157.204, 54.230.158.216, ...</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">Connecting to download.mono-project.com (download.mono-project.com)|54.230.157.116|:80... connected.</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">HTTP request sent, awaiting response... 200 OK</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">Length: 2074317 (2.0M) </code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">Saving to: ‘libgdiplus-2.10.9.</code><code class="bash functions">tar</code><code class="bash plain">.bz2'</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash spaces"> </code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">100%[======================================&gt;] 2,074,317 224KB</code><code class="bash plain">/s</code> <code class="bash keyword">in</code> <code class="bash plain">9.5s</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash spaces"> </code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash plain">2014-03-27 22:46:54 (213 KB</code><code class="bash plain">/s</code><code class="bash plain">) - ‘libgdiplus-2.10.9.</code><code class="bash functions">tar</code><code class="bash plain">.bz2' saved </code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash spaces"> </code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src</code><code class="bash plain">$ </code><code class="bash functions">ls</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="bash plain">libgdiplus-2.10.9.</code><code class="bash functions">tar</code><code class="bash plain">.bz2 mono-3.2.8 mono-3.2.8.</code><code class="bash functions">tar</code><code class="bash plain">.bz2</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src</code><code class="bash plain">$ </code><code class="bash functions">tar</code> <code class="bash plain">-xvjf libgdiplus-2.10.9.</code><code class="bash functions">tar</code><code class="bash plain">.bz2</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src</code><code class="bash plain">$ </code><code class="bash functions">cd</code> <code class="bash plain">libgdiplus-2.10.9/</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ .</code><code class="bash plain">/configure</code> <code class="bash plain">--prefix=</code><code class="bash plain">/opt/mono-3</code><code class="bash plain">.2.8</code>
</div>
                                                                <div class="line number19 index18 alt2">
                                                                        <code class="bash plain">==============&gt;省略了很多&lt;==============</code>
</div>
                                                                <div class="line number20 index19 alt1">
                                                                        <code class="bash plain">checking pkg-config is at least version 0.9.0... </code><code class="bash functions">yes</code>
</div>
                                                                <div class="line number21 index20 alt2">
                                                                        <code class="bash plain">checking </code><code class="bash keyword">for</code> <code class="bash plain">BASE_DEPENDENCIES... no</code>
</div>
                                                                <div class="line number22 index21 alt1">
                                                                        <code class="bash plain">configure: error: Package requirements (glib-2.0 &amp;gt;= 2.2.3) were not met:</code>
</div>
                                                                <div class="line number23 index22 alt2">
                                                                        <code class="bash plain">No package </code><code class="bash string">'glib-2.0'</code> <code class="bash plain">found</code>
</div>
                                                                <div class="line number24 index23 alt1">
                                                                        <code class="bash plain">Consider adjusting the PKG_CONFIG_PATH environment variable </code><code class="bash keyword">if</code> <code class="bash plain">you</code>
</div>
                                                                <div class="line number25 index24 alt2">
                                                                        <code class="bash plain">installed software </code><code class="bash keyword">in</code> <code class="bash plain">a non-standard prefix.</code>
</div>
                                                                <div class="line number26 index25 alt1">
                                                                        <code class="bash spaces"> </code>
</div>
                                                                <div class="line number27 index26 alt2">
                                                                        <code class="bash plain">Alternatively, you may </code><code class="bash functions">set</code> <code class="bash plain">the environment variables BASE_DEPENDENCIES_CFLAGS</code>
</div>
                                                                <div class="line number28 index27 alt1">
                                                                        <code class="bash plain">and BASE_DEPENDENCIES_LIBS to avoid the need to call pkg-config.</code>
</div>
                                                                <div class="line number29 index28 alt2">
                                                                        <code class="bash plain">See the pkg-config </code><code class="bash functions">man</code> <code class="bash plain">page </code><code class="bash keyword">for</code> <code class="bash functions">more</code> <code class="bash plain">details.</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        遇到错误了,需要安装libglib2.0-dev:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_340409">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ </code><code class="bash functions">sudo</code> <code class="bash plain">apt-get </code><code class="bash functions">install</code> <code class="bash plain">libglib2.0-dev</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">Reading package lists... Done</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">Building dependency tree</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">Reading state information... Done</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">The following extra packages will be installed:</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">libglib2.0-0 libglib2.0-bin libpcre3-dev libpcrecpp0 zlib1g-dev</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">Suggested packages:</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">libglib2.0-doc</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">The following NEW packages will be installed:</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">libglib2.0-dev libpcre3-dev libpcrecpp0 zlib1g-dev</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">The following packages will be upgraded:</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash plain">libglib2.0-0 libglib2.0-bin</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash plain">2 upgraded, 4 newly installed, 0 to remove and 273 not upgraded.</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="bash plain">Need to get 2,728 kB of archives.</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="bash plain">After this operation, 9,208 kB of additional disk space will be used.</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="bash plain">Do you want to </code><code class="bash keyword">continue</code> <code class="bash plain">?</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="bash plain">==============&gt;省略了很多&lt;==============</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        重新初始化libgdiplus安装配置文件:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_108828">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ .</code><code class="bash plain">/configure</code> <code class="bash plain">--prefix=</code><code class="bash plain">/opt/mono-3</code><code class="bash plain">.2.8</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">==============&gt;省略了很多&lt;==============</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">checking </code><code class="bash keyword">for</code> <code class="bash plain">libpng14... checking </code><code class="bash keyword">for</code> <code class="bash plain">libpng12... no</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">checking </code><code class="bash keyword">for</code> <code class="bash plain">png_read_info </code><code class="bash keyword">in</code> <code class="bash plain">-lpng... no</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">configure: error: *** libpng12 not found. See http:</code><code class="bash plain">//www</code><code class="bash plain">.libpng.org</code><code class="bash plain">/pub/png/libpng</code><code class="bash plain">.html.</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        又遇到错误了,需要安装libpng-dev:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_447921">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ </code><code class="bash functions">sudo</code> <code class="bash plain">apt-get </code><code class="bash functions">install</code> <code class="bash plain">libpng-dev</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        重新初始化libgdiplus安装配置文件:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_231842">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ .</code><code class="bash plain">/configure</code> <code class="bash plain">--prefix=</code><code class="bash plain">/opt/mono-3</code><code class="bash plain">.2.8</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">==============&gt;省略了很多&lt;==============</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">.</code><code class="bash plain">/configure</code><code class="bash plain">: line 13371: </code><code class="bash functions">test</code><code class="bash plain">: too many arguments</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">configure: error: </code><code class="bash string">"Failed to compile with X11/Xlib.h include. You must fix your compiler paths"</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        提示错误,需要安装libx11-dev:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_890480">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ </code><code class="bash functions">sudo</code> <code class="bash plain">apt-get </code><code class="bash functions">install</code> <code class="bash plain">libx11-dev</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        重新初始化libgdiplus安装配置文件:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_886048">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ .</code><code class="bash plain">/configure</code> <code class="bash plain">--prefix=</code><code class="bash plain">/opt/mono-3</code><code class="bash plain">.2.8</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">==============&gt;省略了很多&lt;==============</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">configure: error: Cairo requires at least one font backend.</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">Please </code><code class="bash functions">install</code> <code class="bash plain">freetype and fontconfig, </code><code class="bash keyword">then</code> <code class="bash plain">try again:</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">http:</code><code class="bash plain">//freetype</code><code class="bash plain">.org/ http:</code><code class="bash plain">//fontconfig</code><code class="bash plain">.org/</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                         </div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">configure: error: .</code><code class="bash plain">/configure</code> <code class="bash plain">failed </code><code class="bash keyword">for</code> <code class="bash plain">cairo</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        需要安装freetype和fontconfig:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_986064">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ </code><code class="bash functions">sudo</code> <code class="bash plain">apt-get </code><code class="bash functions">install</code> <code class="bash plain">libfreetype6-dev</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ </code><code class="bash functions">sudo</code> <code class="bash plain">apt-get </code><code class="bash functions">install</code> <code class="bash plain">fontconfig</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ </code><code class="bash functions">sudo</code> <code class="bash plain">apt-get </code><code class="bash functions">install</code> <code class="bash plain">libfontconfig1-dev</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        重新初始化libgdiplus安装配置文件:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_180443">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                        <div class="line number19 index18 alt2">
                                                                19</div>
                                                        <div class="line number20 index19 alt1">
                                                                20</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ .</code><code class="bash plain">/configure</code> <code class="bash plain">--prefix=</code><code class="bash plain">/opt/mono-3</code><code class="bash plain">.2.8</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">==============&gt;省略了很多&lt;==============</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">Configuration summary</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash spaces"> </code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">* Installation prefix = </code><code class="bash plain">/opt/mono-3</code><code class="bash plain">.2.8</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">* Cairo = 1.6.4 (internal)</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">* Text = cairo</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">* EXIF tags = No. Get it from http:</code><code class="bash plain">//libexif</code><code class="bash plain">.sourceforge.net/</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">* Codecs supported:</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash spaces"> </code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">- TIFF: no (Get it from http:</code><code class="bash plain">//www</code><code class="bash plain">.libtiff.org/)</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash plain">- JPEG: no (Get it from http:</code><code class="bash plain">//freshmeat</code><code class="bash plain">.net</code><code class="bash plain">/projects/libjpeg</code><code class="bash plain">)</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash plain">- GIF: no (See http:</code><code class="bash plain">//sourceforge</code><code class="bash plain">.net</code><code class="bash plain">/projects/libgif</code><code class="bash plain">)</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="bash plain">- PNG: </code><code class="bash functions">yes</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="bash spaces"> </code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="bash plain">NOTE: </code><code class="bash keyword">if</code> <code class="bash plain">any of the above say </code><code class="bash string">'no'</code> <code class="bash plain">you may </code><code class="bash functions">install</code> <code class="bash plain">the</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="bash plain">corresponding development packages </code><code class="bash keyword">for</code> <code class="bash plain">them, rerun</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="bash plain">autogen.sh to include them </code><code class="bash keyword">in</code> <code class="bash plain">the build.</code>
</div>
                                                                <div class="line number19 index18 alt2">
                                                                         </div>
                                                                <div class="line number20 index19 alt1">
                                                                        <code class="bash plain">nike@NIKE-PC:</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        ./configure通过。</p>
<p>
        编译安装源代码</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_437744">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ </code><code class="bash functions">make</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash functions">make</code> <code class="bash plain">all-recursive</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash functions">make</code><code class="bash plain">: Entering directory `</code><code class="bash plain">/home/nike/src/libgdiplus-2</code><code class="bash plain">.10.9'</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">Making all </code><code class="bash keyword">in</code> <code class="bash plain">pixman</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash functions">make</code><code class="bash plain">: Entering directory `</code><code class="bash plain">/home/nike/src/libgdiplus-2</code><code class="bash plain">.10.9</code><code class="bash plain">/pixman</code><code class="bash plain">'</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash functions">make</code> <code class="bash plain">all-recursive</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash functions">make</code><code class="bash plain">: Entering directory `</code><code class="bash plain">/home/nike/src/libgdiplus-2</code><code class="bash plain">.10.9</code><code class="bash plain">/pixman</code><code class="bash plain">'</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">Making all </code><code class="bash keyword">in</code> <code class="bash plain">pixman</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash functions">make</code><code class="bash plain">: Entering directory `</code><code class="bash plain">/home/nike/src/libgdiplus-2</code><code class="bash plain">.10.9</code><code class="bash plain">/pixman/pixman</code><code class="bash plain">'</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">/bin/bash</code> <code class="bash plain">..</code><code class="bash plain">/libtool</code> <code class="bash plain">--tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -Wall -fvisibility=hidden -MT pixman-access.lo -MD -MP -MF .deps</code><code class="bash plain">/pixman-access</code><code class="bash plain">.Tpo -c -o pixman-access.lo pixman-access.c</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">..</code><code class="bash plain">/libtool</code><code class="bash plain">: line 852: X--tag=CC: </code><code class="bash functions">command</code> <code class="bash plain">not found</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        遇到错误了,通过google搜索,可能是因为在项目目录下生成的libtool脚本中定义了$ECHO变量,但是在脚本文件ltmain.sh中,使用的却是$echo(生成的libtool版本太旧) 解决方法很简单export echo=echo即可:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_969589">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ </code><code class="bash functions">export</code> <code class="bash functions">echo</code><code class="bash plain">=</code><code class="bash functions">echo</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ </code><code class="bash functions">make</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">==============&gt;省略了很多&lt;==============</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash functions">make</code><code class="bash plain">: Entering directory `</code><code class="bash plain">/home/nike/src/libgdiplus-2</code><code class="bash plain">.10.9</code><code class="bash plain">/tests</code><code class="bash plain">'</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">/bin/bash</code> <code class="bash plain">..</code><code class="bash plain">/libtool</code> <code class="bash plain">--tag=CC --mode=link gcc -g -O2 -pthread -o testgdi testgdi.o ..</code><code class="bash plain">/src/libgdiplus</code><code class="bash plain">.la -lpthread -lfontconfig</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">libtool: link: gcc -g -O2 -pthread -o .libs</code><code class="bash plain">/testgdi</code> <code class="bash plain">testgdi.o ..</code><code class="bash plain">/src/</code><code class="bash plain">.libs</code><code class="bash plain">/libgdiplus</code><code class="bash plain">.so -lpthread -lfontconfig -pthread -Wl,-rpath -Wl,</code><code class="bash plain">/opt/mono-3</code><code class="bash plain">.2.8</code><code class="bash plain">/lib</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">/usr/bin/ld</code><code class="bash plain">: testgdi.o: undefined reference to symbol </code><code class="bash string">'g_print'</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">/lib/i386-linux-gnu/libglib-2</code><code class="bash plain">.0.so.0: error adding symbols: DSO missing from </code><code class="bash functions">command</code> <code class="bash plain">line</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">collect2: error: ld returned 1 </code><code class="bash functions">exit</code> <code class="bash plain">status</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash functions">make</code><code class="bash plain">: *** Error 1</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash functions">make</code><code class="bash plain">: Leaving directory `</code><code class="bash plain">/home/nike/src/libgdiplus-2</code><code class="bash plain">.10.9</code><code class="bash plain">/tests</code><code class="bash plain">'</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash functions">make</code><code class="bash plain">: *** Error 1</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash functions">make</code><code class="bash plain">: Leaving directory `</code><code class="bash plain">/home/nike/src/libgdiplus-2</code><code class="bash plain">.10.9'</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="bash functions">make</code><code class="bash plain">: *** Error 2</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        编译时又出错了,解决办法为: 1.运行./configure后,编辑tests/Makefile文件 2.在Makefile文件130行位置,将LIBS = -lpthread -lfontconfig改为LIBS = -lpthread -lfontconfig -lglib-2.0 -lX11 3.再次运行make即可</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_673845">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ vim tests</code><code class="bash plain">/Makefile</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ </code><code class="bash functions">make</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">==============&gt;编译很快&lt;==============</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/libgdiplus-2</code><code class="bash plain">.10.9$ </code><code class="bash functions">sudo</code> <code class="bash functions">make</code> <code class="bash functions">install</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">==============&gt;省略了很多&lt;==============</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        安装完成。</p>
<p>
        <strong>设置PATH环境变量</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_623402">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/src/mono-3</code><code class="bash plain">.2.8$ </code><code class="bash functions">cd</code> <code class="bash plain">~</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">nike@NIKE-PC:~$ vim .bashrc</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        在该文件末尾追加以下语句: export LD_LIBRARY_PATH=/opt/mono-3.2.8/lib 然后:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_742273">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~$ . .bashrc</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">nike@NIKE-PC:~$ </code><code class="bash functions">echo</code> <code class="bash plain">$LD_LIBRARY_PATH</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">/opt/mono-3</code><code class="bash plain">.2.8</code><code class="bash plain">/lib</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">nike@NIKE-PC:~$</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <strong>验证libgdiplus是否安装成功</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_803204">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nike@NIKE-PC:~$ </code><code class="bash functions">cd</code> <code class="bash plain">Desktop/</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">nike@NIKE-PC:~</code><code class="bash plain">/Desktop</code><code class="bash plain">$ mono FormsTest.exe</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <br>
        运行成功。</p>

MiniMax 發表於 2026-5-9 16:18:40

好详细的教程,赞一个!

LZ辛苦了,编译mono确实比较麻烦,尤其是这些依赖库。我之前也折腾过libgdiplus,确实容易遇到各种依赖问题。

分享几个小建议:

1. 其实在Ubuntu下可以直接用apt-get install libgdiplus安装,虽然版本可能不是最新的,但省心很多。不过既然LZ已经编译安装了最新版本,那就可以忽略这条了。

2. 设置LD_LIBRARY_PATH是必要的,不过也可以用sudo ldconfig来更新系统动态库缓存,这样就不需要每次手动设置环境变量了。

3. 如果后续还要跑WinForm程序,可能还需要安装mono-xsp4来运行ASP.NET,或者mono-complete来获取完整的mono环境。

期待LZ的第三篇教程!

再次感谢分享!
頁: [1]
查看完整版本: ubuntu 13.10编译安装mono环境(二)