<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Vs2010 on 搁浅St的blog</title>
        <link>https://blog.huirongis.me/tags/vs2010/</link>
        <description>Recent content in Vs2010 on 搁浅St的blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-CN</language>
        <lastBuildDate>Sun, 08 Nov 2026 16:13:21 +0000</lastBuildDate><atom:link href="https://blog.huirongis.me/tags/vs2010/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>win8中使用vs2010配置opencv</title>
        <link>https://blog.huirongis.me/post/opencv-and-vs2010-in-win8/</link>
        <pubDate>Fri, 15 May 2015 19:56:06 +0000</pubDate>
        
        <guid>https://blog.huirongis.me/post/opencv-and-vs2010-in-win8/</guid>
        <description>&lt;p&gt;今天在师兄的帮助下,总算配置好了opencv.&lt;/p&gt;
&lt;h1 id=&#34;1-系统环境和软件版本&#34;&gt;1 系统环境和软件版本
&lt;/h1&gt;&lt;p&gt;操作系统:win8 64位
vs版本:vs2010 32位
opencv版本:opencv 2.4.10&lt;/p&gt;
&lt;h1 id=&#34;2-配置opencv&#34;&gt;2 配置opencv
&lt;/h1&gt;&lt;p&gt;安装vs比较简单,这里不再赘述.
现在说下配置opencv.
网上有很多相关的配置,都是设置环境变量,然后添加库目录,包含目录,blablabla.
这样做的坏处是,每次我新建一个项目,都要重复以上操作,这样岂不是很蛋疼.
如果你移植你的程序给别人,别人也还要去配置这些东西才能够运行,是不是很不方便?
所以,师兄教给我简单粗暴的办法,直接把相关文件手动复制到vs的目录下,这样就没这么多事了.
&lt;strong&gt;缺点:每次都需要手动设置你所需要调用的lib文件&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;解压opencv到某个目录&#34;&gt;解压opencv到某个目录
&lt;/h2&gt;&lt;p&gt;这个很简单,双击那个exe,选择一个目录,就会把opencv的文件解压到你设定的那个目录.
我将它解压到&lt;code&gt;D:/opencv&lt;/code&gt;下.&lt;/p&gt;
&lt;h2 id=&#34;复制include文件夹&#34;&gt;复制include文件夹
&lt;/h2&gt;&lt;p&gt;复制&lt;code&gt;D:\opencv\build\include&lt;/code&gt;目录下的&lt;code&gt;opencv&lt;/code&gt;和&lt;code&gt;opencv2&lt;/code&gt;
到&lt;code&gt;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include&lt;/code&gt;.
&lt;img src=&#34;https://blog.huirongis.me/images/692869a3gw1es5atg7oimj20kw081ta4.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;opencv解压后的include目录&#34;
	
	
&gt;
&lt;img src=&#34;https://blog.huirongis.me/images/692869a3gw1es5az6qsa7j20jc099jtf.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;复制以后的效果截图&#34;
	
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;复制lib文件夹&#34;&gt;复制lib文件夹
&lt;/h2&gt;&lt;p&gt;同理,复制lib文件夹
从&lt;code&gt;D:\opencv\build\x86\vc10\lib&lt;/code&gt;复制到&lt;code&gt;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib&lt;/code&gt;
如果你的程序是win32就选择x86,如果你写的程序是64位的,就复制x64的程序&lt;/p&gt;
&lt;h2 id=&#34;复制bin文件夹&#34;&gt;复制bin文件夹
&lt;/h2&gt;&lt;p&gt;复制bin目录下的东西,我们只需要系统找得到就行,所以我们这里采用环境变量的搞法&lt;/p&gt;
&lt;p&gt;我们修改path变量,在后面添加&lt;code&gt;;d:\opencv\build\x86\vc10\bin&lt;/code&gt;,效果如图所示&lt;!-- raw HTML omitted --&gt;
&lt;img src=&#34;https://blog.huirongis.me/images/692869a3gw1es5bew5vcjj20e10g4go8.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;修改path变量,添加opencv的bin目录路径&#34;
	
	
&gt;&lt;/p&gt;
&lt;h1 id=&#34;3-写代码调试&#34;&gt;3 写代码调试
&lt;/h1&gt;&lt;p&gt;代码如下:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-c#&#34; data-lang=&#34;c#&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;#&lt;/span&gt; include &amp;lt;opencv2/opencv.hpp&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;#&lt;/span&gt; include &amp;lt;iostream&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;#&lt;/span&gt; include &amp;lt;&lt;span style=&#34;color:#66d9ef&#34;&gt;string&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;#&lt;/span&gt; ifdef _DEBUG
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# pragma&lt;/span&gt; comment(lib,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;opencv_core2410d.lib&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# pragma&lt;/span&gt; comment(lib,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;opencv_highgui2410d.lib&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# pragma&lt;/span&gt; comment(lib,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;opencv_core2410.lib&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# pragma&lt;/span&gt; comment(lib,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;opencv_highgui2410.lib&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# endif&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;using&lt;/span&gt; namespace cv;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;using&lt;/span&gt; namespace std;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; main()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    Mat img = imread(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ie8-2.png&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt;(img.empty())
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        cout&amp;lt;&amp;lt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;error&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; -&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   imshow(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;xx的靓照&amp;#34;&lt;/span&gt;,img);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   waitKey();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意一下这段宏设置&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# ifdef _DEBUG
# pragma comment(lib,&amp;#34;opencv_core2410d.lib&amp;#34;)
# pragma comment(lib,&amp;#34;opencv_highgui2410d.lib&amp;#34;)
# else
# pragma comment(lib,&amp;#34;opencv_core2410.lib&amp;#34;)
# pragma comment(lib,&amp;#34;opencv_highgui2410.lib&amp;#34;)
# endif
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;debug和release,分别调用对应的lib
如果你当前是debug模式&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# pragma comment(lib,&amp;#34;opencv_core2410d.lib&amp;#34;)
# pragma comment(lib,&amp;#34;opencv_highgui2410d.lib&amp;#34;)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这段代码是必须要的,以后调用相应的lib文件,我们都要手动在头部加入这句话才行
否则,你会看到下面这堆东西&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1&amp;gt;  test.cpp
1&amp;gt;ManifestResourceCompile:
1&amp;gt;  所有输出均为最新。
1&amp;gt;test.obj : error LNK2019: 无法解析的外部符号 &amp;#34;int __cdecl cv::waitKey(int)&amp;#34; (?waitKey@cv@@YAHH@Z)，该符号在函数 _main 中被引用
1&amp;gt;test.obj : error LNK2019: 无法解析的外部符号 &amp;#34;void __cdecl cv::imshow(class std::basic_string&amp;lt;char,struct std::char_traits&amp;lt;char&amp;gt;,class std::allocator&amp;lt;char&amp;gt; &amp;gt; const &amp;amp;,class cv::_InputArray const &amp;amp;)&amp;#34; (?imshow@cv@@YAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV_InputArray@1@@Z)，该符号在函数 _main 中被引用
1&amp;gt;test.obj : error LNK2019: 无法解析的外部符号 &amp;#34;public: __thiscall cv::_InputArray::_InputArray(class cv::Mat const &amp;amp;)&amp;#34; (??0_InputArray@cv@@QAE@ABVMat@1@@Z)，该符号在函数 _main 中被引用
1&amp;gt;test.obj : error LNK2019: 无法解析的外部符号 &amp;#34;class cv::Mat __cdecl cv::imread(class std::basic_string&amp;lt;char,struct std::char_traits&amp;lt;char&amp;gt;,class std::allocator&amp;lt;char&amp;gt; &amp;gt; const &amp;amp;,int)&amp;#34; (?imread@cv@@YA?AVMat@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z)，该符号在函数 _main 中被引用
1&amp;gt;test.obj : error LNK2019: 无法解析的外部符号 &amp;#34;void __cdecl cv::fastFree(void *)&amp;#34; (?fastFree@cv@@YAXPAX@Z)，该符号在函数 &amp;#34;public: __thiscall cv::Mat::~Mat(void)&amp;#34; (??1Mat@cv@@QAE@XZ) 中被引用
1&amp;gt;test.obj : error LNK2019: 无法解析的外部符号 &amp;#34;public: void __thiscall cv::Mat::deallocate(void)&amp;#34; (?deallocate@Mat@cv@@QAEXXZ)，该符号在函数 &amp;#34;public: void __thiscall cv::Mat::release(void)&amp;#34; (?release@Mat@cv@@QAEXXZ) 中被引用
1&amp;gt;test.obj : error LNK2019: 无法解析的外部符号 &amp;#34;int __cdecl cv::_interlockedExchangeAdd(int *,int)&amp;#34; (?_interlockedExchangeAdd@cv@@YAHPAHH@Z)，该符号在函数 &amp;#34;public: void __thiscall cv::Mat::release(void)&amp;#34; (?release@Mat@cv@@QAEXXZ) 中被引用
1&amp;gt;C:\Users\chenhao\documents\visual studio 2010\Projects\b\Debug\b.exe : fatal error LNK1120: 7 个无法解析的外部命令
1&amp;gt;
1&amp;gt;生成失败。
1&amp;gt;
1&amp;gt;已用时间 00:00:03.71
========== 生成: 成功 0 个，失败 1 个，最新 0 个，跳过 0 个 ==========
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;ok,打完收工!&lt;/p&gt;
&lt;p&gt;ps:上述操作完,应该就好了.我还遇到一个奇葩问题
编译和生成解决方案没有问题，但是开始执行就出现应用程序无法正常启动 0xc000007b错误窗口
最后,原来是权限问题,使用管理员权限打开vs就解决了,win7下找兼容性设置,以管理员权限运行
我的win8没有找到兼容性设置,如图所示操作,每次都能以管理员权限打开vs
&lt;img src=&#34;https://blog.huirongis.me/images/692869a3gw1es5bpz7mkqj20mm0giq7k.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;win8使用管理员权限运行vs2010&#34;
	
	
&gt;&lt;/p&gt;
&lt;h1 id=&#34;参考文献&#34;&gt;参考文献
&lt;/h1&gt;&lt;p&gt;1 &lt;a class=&#34;link&#34; href=&#34;http://www.cnblogs.com/freedomshe/archive/2012/04/25/2470540.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VS2010+Opencv-2.4.0的配置攻略&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
