<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>浏忙大爆炸 &#187; Cygwin</title>
	<atom:link href="http://blog.waterlin.org/articles/tag/cygwin/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.waterlin.org</link>
	<description>源于理工科男的烂笔头情结</description>
	<lastBuildDate>Sat, 04 Sep 2010 09:48:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>在Cygwin下编译与安装Boost库</title>
		<link>http://blog.waterlin.org/articles/compile-and-install-boost-under-cygwin.html</link>
		<comments>http://blog.waterlin.org/articles/compile-and-install-boost-under-cygwin.html#comments</comments>
		<pubDate>Thu, 03 Sep 2009 08:51:15 +0000</pubDate>
		<dc:creator>waterlin</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Cygwin]]></category>

		<guid isPermaLink="false">http://blog.waterlin.org/articles/%e5%9c%a8cygwin%e4%b8%8b%e7%bc%96%e8%af%91%e4%b8%8e%e5%ae%89%e8%a3%85boost%e5%ba%93.html</guid>
		<description><![CDATA[Boost 被人们誉为 C++ 的准标准库，尝试着为 C++ 提供一个可跨平台使用的、大而全的库。作为一个软件工程师，一直没有机会对 Boost 进行了解与学习，现在正是迎头赶上的时候了！ 今天在 Cygwin 下试着编译与安装了 Boost 库（boost_1_40_0版本），非常的简单与方便，大体步骤如下： 1) 下载源代码，解压到任何你想要的地方，我是放在 ~/source_code 目录下，解压后所有 Boost 的文件都在文件夹 boost_1_40_0 里面。 2) 编辑一段最简单的、只需要用到头文件的例子代码。在目录 ~/source_code/boost_1_40_0 下新建一个名叫 example.cpp 的文件，复制下面的代码： #include &#60;boost/lambda/lambda.hpp&#62; #include &#60;iostream&#62; #include &#60;iterator&#62; #include &#60;algorithm&#62; int main() { using namespace boost::lambda; typedef std::istream_iterator&#60;int&#62; in; std::for_each( in(std::cin), in(), std::cout &#60;&#60; (_1 * 3) &#60;&#60; " " [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.boost.org/" target="_blank">Boost</a> 被人们誉为 C++ 的准标准库，尝试着为 C++ 提供一个可跨平台使用的、大而全的库。作为一个软件工程师，一直没有机会对 <a href="http://www.boost.org/" target="_blank">Boost</a> 进行了解与学习，现在正是迎头赶上的时候了！</p>
<p>今天在 <a href="http://www.boost.org/doc/libs/1_40_0/more/getting_started/unix-variants.html" target="_blank">Cygwin 下试着编译与安装了 Boost 库</a>（boost_1_40_0版本），非常的简单与方便，大体步骤如下：</p>
<p>1) 下载源代码，解压到任何你想要的地方，我是放在 ~/source_code 目录下，解压后所有 Boost 的文件都在文件夹 boost_1_40_0 里面。</p>
<p>2) 编辑一段最简单的、只需要用到头文件的例子代码。在目录 ~/source_code/boost_1_40_0 下新建一个名叫 example.cpp 的文件，复制下面的代码：</p>
<blockquote>
<pre><code>#include &lt;boost/lambda/lambda.hpp&gt;
#include &lt;iostream&gt;
#include &lt;iterator&gt;
#include &lt;algorithm&gt;
int main()
{
    using namespace boost::lambda;
    typedef std::istream_iterator&lt;int&gt; in;
    std::for_each(
    in(std::cin), in(), std::cout &lt;&lt; (_1 * 3) &lt;&lt; " " );
}
</code></pre>
</blockquote>
<p>从命令行编译：</p>
<blockquote><p>$ g++ -I /home/water/source_code/boost_1_40_0/ example.cpp -o example</p></blockquote>
<p>上面 -I 后的参数，请根据 Boost 解压后所在的目录填写。编译成功后，运行 ./example，试着输入几个数字看看。</p>
<p>这里补充说明一下有关 C++ 头文件包含问题：如果在上面的命令中，你不想使用 -I 选项，可以把 Boost 的头文件放到 Cygwin 的 #include 目录里去，一般来讲，是 /usr/local/include 或是 /usr/include 目录。你可以把 Boost 源码包里的 Boost 文件夹，一股脑地拷贝到 /usr/local/include 目录下（当然，不支持手动这样做）。</p>
<p>如果你用了下面的命令：</p>
<blockquote><p>$ g++ example.cpp -o example</p></blockquote>
<p>而又没有按上面说的把 Boost 的头文件复制到 #include 目录，则会提示类似下面的错误：</p>
<blockquote><p>$ g++ example.cpp -0 exmaple<br />
g++: exmaple: No such file or directory<br />
g++: unrecognized option `-0&#8242;<br />
example.cpp:1:35: boost/lambda/lambda.hpp: No such file or directory<br />
example.cpp: In function `int main()&#8217;:<br />
example.cpp:8: error: `boost&#8217; has not been declared<br />
example.cpp:8: error: expected namespace-name before &#8216;;&#8217; token<br />
example.cpp:8: error: `&lt;type error&gt;&#8217; is not a namespace<br />
example.cpp:12: error: `_1&#8242; undeclared (first use this function)<br />
example.cpp:12: error: (Each undeclared identifier is reported only once for each function it appears in.)</p></blockquote>
<p>3) 编译与安装 Boost 库的最简单方法</p>
<p>先生成命令行工具 bjam，它是专门负责编译、安装 Boost 库的工具。可以先查看一下相关帮助信息：</p>
<blockquote><p>$ cd path/to/boost_1_40_0<br />
$ ./bootstrap.sh &#8211;help</p></blockquote>
<p>执行下面的命令就可以生成 bjam：</p>
<blockquote><p>$ ./bootstrap.sh &#8211;prefix=path/to/installation/prefix</p></blockquote>
<p>最后再利用 bjam 自动编译库文件：</p>
<blockquote><p>$ ./bjam install</p></blockquote>
<p>Boost 的编译与安装时间比较长，编译完成后，默认配置下头文件会安装到 /usr/local/include/boost 目录下，而生成的库文件会放到 /usr/local/lib 目录下。更详细的安装可以看看<a href="http://www.boost.org/doc/libs/1_40_0/more/getting_started/unix-variants.html" target="_blank">官方文档</a>。</p>
<p>4) 以后写完 Boost 代码，就可以直接编译代码了。现在可以试着不指定 Boost 头文件的路径，再编译一把上面的 example.cpp 的例子：</p>
<blockquote><p>$ g++ example.cpp -o example</p></blockquote>
<p>现在 g++ 就能自动找到相关的头文件。</p>
<p>如果是 Linux 的话，编译与安装 Boost 的步骤应该大体上差不多；推荐使用各 Linux 发行版编译好的二进制版本，直接下载安装更省事。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.waterlin.org/articles/compile-and-install-boost-under-cygwin.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cygwin下解决中文输出和输入的问题</title>
		<link>http://blog.waterlin.org/articles/add-chinese-support-to-cygwin.html</link>
		<comments>http://blog.waterlin.org/articles/add-chinese-support-to-cygwin.html#comments</comments>
		<pubDate>Fri, 19 Jun 2009 06:35:56 +0000</pubDate>
		<dc:creator>waterlin</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Cygwin]]></category>

		<guid isPermaLink="false">http://blog.waterlin.org/articles/add-chinese-support-to-cygwin.html</guid>
		<description><![CDATA[最近我在Cygwin中碰到要操作中文字符的问题，显示Windows的中文目录或文件名的时候，看到所有中文文件都变成了&#8221;?????&#8221;。并且Cygwin并没有办法输入中文作为命令参数，比如新建一个中文名的文件。上网搜了一下，找到了一个解决办法。 配置步骤： 1.在用户home目录里的.bash_profile文件末尾添加如下代码 export LC_ALL=en_US.UTF-16 export LC_CTYPE=en_US.UTF-16 export LANG=en_US.UTF-16 export XMODIFIERS=@im=Chinput3 stty cs8 -istrip stty pass8 export LESSCHARSET=latin1 2.解决中文输入的问题 Cygwin里默认不会显示你输入的中文，而是显示一大堆的编码。同样是用户的home目录，去掉.inputrc文件中以下代码的注释（前面的#号）： set meta-flag on set convert-meta off set input-meta on set output-meta on 如果你没有.inputrc文件，就创建一个，把上面的代码扔进去。 3. 还是home目录，在.bashrc文件中添加代码： alias ls=&#8217;ls &#8211;color &#8211;show-control-chars&#8217; 4.重启Cygwin。 配置完成了，支持中文并消除了所有的乱码。]]></description>
			<content:encoded><![CDATA[<p>最近我在Cygwin中碰到要操作中文字符的问题，显示Windows的中文目录或文件名的时候，看到所有中文文件都变成了&#8221;?????&#8221;。并且Cygwin并没有办法输入中文作为命令参数，比如新建一个中文名的文件。上网搜了一下，找到了一个解决办法。</p>
<p>配置步骤：</p>
<p>1.在用户home目录里的.bash_profile文件末尾添加如下代码</p>
<blockquote><p>export LC_ALL=en_US.UTF-16 <br />export LC_CTYPE=en_US.UTF-16 <br />export LANG=en_US.UTF-16 <br />export XMODIFIERS=@im=Chinput3 <br />stty cs8 -istrip <br />stty pass8 <br />export LESSCHARSET=latin1</p>
</blockquote>
<p>2.解决中文输入的问题</p>
<p>Cygwin里默认不会显示你输入的中文，而是显示一大堆的编码。同样是用户的home目录，去掉.inputrc文件中以下代码的注释（前面的#号）：</p>
<blockquote><p>set meta-flag on <br />set convert-meta off <br />set input-meta on <br />set output-meta on</p>
</blockquote>
<p>如果你没有.inputrc文件，就创建一个，把上面的代码扔进去。</p>
<p>3. 还是home目录，在.bashrc文件中添加代码：</p>
<blockquote><p>alias ls=&#8217;ls &#8211;color &#8211;show-control-chars&#8217;</p>
</blockquote>
<p>4.重启Cygwin。</p>
<p>配置完成了，支持中文并消除了所有的乱码。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.waterlin.org/articles/add-chinese-support-to-cygwin.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cygwin环境下Perl脚本不能读取带空格的Windows路径</title>
		<link>http://blog.waterlin.org/articles/cygwin%e7%8e%af%e5%a2%83%e4%b8%8bperl%e8%84%9a%e6%9c%ac%e4%b8%8d%e8%83%bd%e8%af%bb%e5%8f%96%e5%b8%a6%e7%a9%ba%e6%a0%bc%e7%9a%84windows%e8%b7%af%e5%be%84.html</link>
		<comments>http://blog.waterlin.org/articles/cygwin%e7%8e%af%e5%a2%83%e4%b8%8bperl%e8%84%9a%e6%9c%ac%e4%b8%8d%e8%83%bd%e8%af%bb%e5%8f%96%e5%b8%a6%e7%a9%ba%e6%a0%bc%e7%9a%84windows%e8%b7%af%e5%be%84.html#comments</comments>
		<pubDate>Wed, 16 Jul 2008 10:38:53 +0000</pubDate>
		<dc:creator>waterlin</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://blog.waterlin.org/articles/cygwin%e7%8e%af%e5%a2%83%e4%b8%8bperl%e8%84%9a%e6%9c%ac%e4%b8%8d%e8%83%bd%e8%af%bb%e5%8f%96%e5%b8%a6%e7%a9%ba%e6%a0%bc%e7%9a%84windows%e8%b7%af%e5%be%84.html</guid>
		<description><![CDATA[今天在Cygwin里写Perl脚本的时候，发现如果Windows的文件路径里有空格的话，Perl或是Cygwin都不能正确识别。 例如有 F:\TestTools\tasks\Unknown messages\MSisa_104756\msisa.unknown.20080321.unx 这样一个文件，在Cygwin下就不能用Perl的Open命令打开文件并读取内容。 如果把其中的Unknown messages换成UnknownMessages，则可以了。 PS：还有一点要注意的就是，在Cygwin里，你直接输入Windows风格的路径，Cygwin会自动帮你识别并转化。你不用手动把Windows风格路径里的“\”转化为Unix风格的“/”。]]></description>
			<content:encoded><![CDATA[<p>今天在Cygwin里写Perl脚本的时候，发现如果Windows的文件路径里有空格的话，Perl或是Cygwin都不能正确识别。</p>
<p>例如有</p>
<p>F:\TestTools\tasks\Unknown messages\MSisa_104756\msisa.unknown.20080321.unx</p>
<p>这样一个文件，在Cygwin下就不能用Perl的Open命令打开文件并读取内容。</p>
<p>如果把其中的<strong>Unknown messages</strong>换成<strong>UnknownMessages</strong>，则可以了。</p>
<p>PS：还有一点要注意的就是，在Cygwin里，你直接输入Windows风格的路径，Cygwin会自动帮你识别并转化。你不用手动把Windows风格路径里的“\”转化为Unix风格的“/”。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.waterlin.org/articles/cygwin%e7%8e%af%e5%a2%83%e4%b8%8bperl%e8%84%9a%e6%9c%ac%e4%b8%8d%e8%83%bd%e8%af%bb%e5%8f%96%e5%b8%a6%e7%a9%ba%e6%a0%bc%e7%9a%84windows%e8%b7%af%e5%be%84.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在Cygwin中安装CPAN模块</title>
		<link>http://blog.waterlin.org/articles/%e5%9c%a8cygwin%e4%b8%ad%e5%ae%89%e8%a3%85cpan%e6%a8%a1%e5%9d%97.html</link>
		<comments>http://blog.waterlin.org/articles/%e5%9c%a8cygwin%e4%b8%ad%e5%ae%89%e8%a3%85cpan%e6%a8%a1%e5%9d%97.html#comments</comments>
		<pubDate>Thu, 08 May 2008 10:03:00 +0000</pubDate>
		<dc:creator>waterlin</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://waterlin.yo2.cn/articles/%e5%9c%a8cygwin%e4%b8%ad%e5%ae%89%e8%a3%85cpan%e6%a8%a1%e5%9d%97.html</guid>
		<description><![CDATA[以安装YAML-Tiny-1.31为例，说明在Cygwin中安装CPAN模块的方法。整个过程，和在Unix/Linux下安装CPAN模块的方法基本一样，不过你事先得在Cygwin中配置好CPAN。 1) 把YAML-Tiny从CPAN上下载下来。 2) 解压这个文件： tar -xof yourmodule.tar 3) 编译这个模块： perl Makefile.PL make make test 或者可以用这个命令来配置安装目录： perl Makefile.PL PREFIX=/my/perl_directory 如果你用了这个选项，你在用YAML::Tiny这个模块的时候，必须在程序的前面加上这么一行： use lib "/my/perl_directory" 4) 安装 进入你解压文件的那个目录，用这个命令进行安装： make install 到这里，整个安装过程结束。更多的详细安装过程可以参考perlmodinstall。]]></description>
			<content:encoded><![CDATA[<p>以安装<a href="http://search.cpan.org/%7Eadamk/YAML-Tiny-1.31/">YAML-Tiny-1.31</a>为例，说明在Cygwin中安装<a href="http://www.cpan.org">CPAN</a>模块的方法。整个过程，和在Unix/Linux下安装CPAN模块的方法基本一样，不过你事先得在Cygwin中配置好CPAN。</p>
<p>1) 把YAML-Tiny从CPAN上下载下来。</p>
<p>2) 解压这个文件：<br />
<code>      tar -xof yourmodule.tar</code></p>
<p>3) 编译这个模块：</p>
<pre>      perl Makefile.PL
     make
     make test

或者可以用这个命令来配置安装目录：
     perl Makefile.PL PREFIX=/my/perl_directory
如果你用了这个选项，你在用YAML::Tiny这个模块的时候，必须在程序的前面加上这么一行：
<code>      use lib "/my/perl_directory"

4) 安装
进入你解压文件的那个目录，用这个命令进行安装：
</code>      make install

到这里，整个安装过程结束。更多的详细安装过程可以参考<a href="http://theoryx5.uwinnipeg.ca/CPAN/perl/pod/perlmodinstall.html">perlmodinstall</a>。</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.waterlin.org/articles/%e5%9c%a8cygwin%e4%b8%ad%e5%ae%89%e8%a3%85cpan%e6%a8%a1%e5%9d%97.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在Cygwin中使用CPAN</title>
		<link>http://blog.waterlin.org/articles/%e5%9c%a8cygwin%e4%b8%ad%e4%bd%bf%e7%94%a8cpan.html</link>
		<comments>http://blog.waterlin.org/articles/%e5%9c%a8cygwin%e4%b8%ad%e4%bd%bf%e7%94%a8cpan.html#comments</comments>
		<pubDate>Thu, 08 May 2008 09:48:00 +0000</pubDate>
		<dc:creator>waterlin</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://waterlin.yo2.cn/articles/%e5%9c%a8cygwin%e4%b8%ad%e4%bd%bf%e7%94%a8cpan.html</guid>
		<description><![CDATA[如果你在Cygwin中安装了perl，就可以在Cygwin中设置CPAN了。 $ perl -MCPAN -eshell 中文的有关CPAN的使用介绍得好像比较少，不过这有一篇perlmodinstall不错，大家可以参考一下。]]></description>
			<content:encoded><![CDATA[<p>如果你在Cygwin中安装了perl，就可以在Cygwin中设置CPAN了。</p>
<p><span style="font-weight: bold">$ perl -MCPAN -eshell</span></p>
<p> 中文的有关CPAN的使用介绍得好像比较少，不过这有一篇<a href="http://theoryx5.uwinnipeg.ca/CPAN/perl/pod/perlmodinstall.html">perlmodinstall</a>不错，大家可以参考一下。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.waterlin.org/articles/%e5%9c%a8cygwin%e4%b8%ad%e4%bd%bf%e7%94%a8cpan.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
