VS2010

VS2010 / MFC + OpenCV 2.4.1打开图片

隐身守侯 提交于 2019-12-05 20:52:19
Windows 7 x64,VS2010 / MFC + OpenCV 2.4.1打开图片显示到Picture控件中。 OpenCV 2.2、OpenCV 2.3同样适用。 工具/ 原料 WinXP / Win7 x86 / x64 OpenCV 2.2 / 2.3 / 2.4 Visual Studio 2010 因Opencv2.2以后的版本就取消了CvvImage这个类,而显示图片到MFC的Picture控件需要用到这个类,所以需要准备CvvImage.h和CvvImage.cpp文件(从以前版本的源码中获得),下载地址: http://dl.dbank.com/c04u6b8sxe 方法/ 步骤 一、新建项目 菜单,文件 - 新建 - 项目 Visual C++,MFC应用程序,名称为MFC_DEMO 下一步 基于对话框,不使用Unicode库,在静态库中使用MFC,完成 出现如下界面 二、配置OpenCV环境 如果是初次配置OpenCV环境,需要在环境变量中增加以下路径(右击计算机,属性,打开控制面板,点击左侧高级系统设置,环境变量) 在系统变量的PATH中添加 ;D:\Program Files\opencv\build\x86\vc10\bin 注意是添加,原有项目千万不要删掉,每项之间以英文状态下的分号隔开 新建OPENCV项,其值为 D:\Program

VS2010产生C的dll方法和C#调用方式

被刻印的时光 ゝ 提交于 2019-12-05 13:33:17
第一部分:产生C的dll http://210.43.24.222/chy/3sbase/news/?766.html (资料来源,有改动) 1、 1,新建win32工程,选中DLL项目,如下图: 2,分别添加头文件和cpp文件 // CDLL.h头文件 #ifndef LIB_H #define LIB_H extern "C" _declspec(dllexport) int add(int x,int y); // 声明为C编译、链接方式的外部函数 extern "C" _declspec(dllexport) int sub(int x,int y); // 声明为C编译、链接方式的外部函数 /* 加入任意你想加入的函数定义*/ #endif // CDLL.cpp文件 #include "stdafx.h" #include "CDLL.h"//貌似这两个头文件的顺序不能颠倒。我试了很多次,但是不能确定。 int add(int x,int y)//是否可以理解为,VS2010已经默认是 _stdcall,所以函数不用添加该修饰符 { return x+y; } int sub(int x,int y) { return x-y; } //上面的代码可能会导致 error C2059: syntax error : 'string' 的问题。借鉴网上的提供的经验http:

【原创】VS2010下编译的库在VC6下使用问题

允我心安 提交于 2019-12-05 10:26:49
之前因为工作需要,深入研究了 rabbitmq 的 C 代码,并以 libevent 为基础将其改造成事件驱动的单线程模型。由于一直都是自己写库封装和 demo 代码来测试,所以上述库都以 VS2010 的静态库(.lib)形式提供。前天,终于有业务人员要基于这个 demo 写东西了,但却发现编译链接都不行,究其原因是由于所用的编译器 VC6 太老旧的缘故。 库的跨编译器使用问题属于老生常谈,网上的资料也很多,这里出现的内容网上也都有,可以对比参阅。 起因: 我提供了 rabbitmq 和 libevent 的静态库,以及相关头文件;业务人员在 VC6 中完整业务逻辑编写。 现象: 编译后,报如下错误 Linking... Creating library ..\..\..\..\10-common\version\debug\win32\mos\mos.lib and object ..\..\..\..\10-common\version\debug\win32\mos\mos.exp libevent-1.4.13.lib(evutil.obj) : error LNK2001: unresolved external symbol __RTC_CheckEsp libevent-1.4.13.lib(signal.obj) : error LNK2001:

windows下VS2010中lib与dll文件的生成与使用

天涯浪子 提交于 2019-12-04 07:51:47
近期在windows下开发了某个程序,需要将其生成静态文件(lib)以及动态库文件(dll),其中参考了不少帖子,有的讲得也不是很清楚明白,先将本人实践过的记录一下,供后期自己查询,也供各位大牛点评。 一、lib文件的生成与使用 1、lib的生成 相对来说,静态库文件还是比较容易生成和使用的,在代码上,貌似也不需要更改什么,举例说明: 头文件函数声明形式如下: extern bool Uninitialize(); 在VS2010项目中,“新建->项目->Win32项目->静态库”,配置好相应的项目属性即可。 其中大致包括(根据个人项目需要去配置,如何配置可参考网上其他帖子,比较多): “配置属性->常规->字符集->(选你需要的字符集)” “VC++目录->包含目录” “VC++目录->库目录” 项目生成之后,会在项目目录中生成相应的lib文件,这个lib文件就是真正的静态库文件。(与dll生成中产生的lib文件还是不同的,这在dll生成的时候需要特别注意一下) 2、 lib文件使用,无需过多配置,只需要在“VC++目录->库目录”引入需要的lib文件即可 二、dll文件的生成与使用 1、dll的生成 动态库文件dll的生成就没有那么简单了,稍微需要修改一点源码(相比起来,还是比较喜欢Linux下so文件生成的方式,完全不需要更改源码,编译命令修改即可) 同样举例说明

VS2010配置OpenGL开发环境

半世苍凉 提交于 2019-12-04 05:59:11
最近开始研究OpenGL了,下面是网上看到的一篇入门VS2010上环境配置的文章 OpenGL(Open Graphics Library)是一个跨编程语言、跨平台的专业图形程序接口。 OpenGL是SGI公司开发的一套计算机图形处理系统,是图形硬件的软件接口,任何一个OpenGL应用程序无须考虑其运行环境所在平台与操作系统,在任何一个遵循OpenGL标准的环境下都会产生相同的可视效果。 OpenGL不是一种编程语言,而是一种API(Application Programming Interface,应用程序编程接口)。 OpenGL主要包括三个函数库,它们是核心库、实用函数库和编程辅助库。核心库中包含了OpenGL最基本的命令函数。核心库提供了一百多个函数,这些函数都以”gl”为前缀,用来建立各种各样的几何模型、进行坐标变换、产生光照效果、进行纹理映射、产生雾化效果等所有的二维和三维图形操作。实用函数库是比核心库更高一层的函数库,它提供四十多个函数,这些函数都以”glu”为前缀。由于OpenGL是一个图形标准,是独立于任何窗口系统或操作系统的,在OpenGL中没有提供窗口管理和消息事件响应的函数,也没有鼠标和键盘读取事件的功能,所以在编程辅助库提供了一些基本的窗口管理函数、事件处理函数和简单的事件函数。这类函数以”aux”作为前缀。值得一提的是

Windows下C语言连接Oracle数据库

可紊 提交于 2019-11-30 20:17:48
最近公司有个项目需要用到Oracle数据库,我负责前期的调研。由于项目要用到C和PHP两种语言,所以先收集这两种语言连接Oracle的方法。PHP使用的是Laravel框架,直接使用了Laravel-OCI8进行数据库连接,毫无压力的连接成功了。C使用的是Ocilib进行数据库连接,在这里踩了几个坑,卡了几天,今天有空整理下,防止下次继续掉坑。 提示:本文使用的是win7 64位去连接远程的 Oracle 11g数据库 OCILIB介绍 OCILIB 是一个跨平台的Oracle驱动程序,可提供非常快速和可靠地访问Oracle数据库。它提供了一个丰富,功能齐全,并易于使用的API 。OCILIB 支持运行的所有Oracle平台。 OCI环境搭建 由于OCILIB是对OCI进行二次封装,所以在使用OCILIB前,需要安装OCI环境,我们只要安装好Instant Client就能完成OCI环境的搭建。 Instant Client下载 首先我们从官方下载自己系统所对应的 Instant Client ,由于我的系统是win7 64位的,所以选择了 Instant Client for Microsoft Windows (x64) 下的 instantclient-basic-windows.x64-12.1.0.2.0.zip 提示:页面下需要点击 Accept License

c++ ActiveX基础1:使用VS2010创建MFC ActiveX工程项目

只愿长相守 提交于 2019-11-27 16:22:52
1.ActiveX的基本概念 ActiveX控件可以看作是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行。这个容器包括WEB网页,应用程序窗体等。。。 ActiveX控件的后缀名是OCX或者DLL。一般是以OCX和动态库共存的形式打包成cab或者exe的文件放在服务器上,客户端下载后运行安装cab或exe解压成OCX和动态库共存的文件,然后注册ocx文件。 ActiveX控件是基于com标准,使得软件部件在网络环境中进行交互的技术集。它与具体的编程语言无关。作为针对Internet应用开发的技术,ActiveX被广泛应用于WEB服务器以及客户端的各个方面。同时,ActiveX技术也被用于方便地创建普通的桌面应用程序,此外ActiveX一般具有界面。 2.三个概念:ActiveX、OLE和COM 从时间的角度讲,OLE是最早出现的,然后是COM和 ActiveX;从体系结构角度讲,OLE和ActiveX是建立在COM之上的,所以COM是基础;单从名称角度讲,OLE、ActiveX是两个商标名称,而COM则是一个纯技术名词,这也是大家更多的听说ActiveX和OLE的原因。COM是应OLE的需求而诞生的,所以虽然COM是OLE的基础,但OLE的产生却在COM之前。COM的基本出发点是,让某个软件通过一个通用的机构为另一个软件提供服务

VS2010/MFC编程入门之四(MFC应用程序框架分析)

守給你的承諾、 提交于 2019-11-27 02:43:03
可能大家对工程的运行原理还是很模糊,理不出头绪,毕竟跟C++编程入门系列中的例程差别太大。这一节就为大家分析下MFC应用程序框架的运行流程。 一.SDK应用程序与MFC应用程序运行过程的对比 程序运行都要有入口函数,在之前的C++教程中都是main函数,而Windows应用程序的入口函数是WinMain函数,MFC程序也是从WinMain函数开始的。下面鸡啄米就给出用Windows SDK写的“HelloWorld”程序,与应用程序框架进行对比,这样能更好的了解框架是怎样运行的。Windows SDK开发程序就是不使用MFC类库,直接用Windows API函数进行软件开发。鸡啄米不是要讲解SDK开发,只是为了对比而简单介绍,至于SDK开发可以在大家学完MFC以后选择是否要研究,一般来说有简单了解就可以了。 SDK应用程序 首先,给出Windows SDK应用程序“HelloWorld”的源码: C++代码 #include <windows.h> LRESULT CALLBACK myWndProc(HWND hWindow, UINT msg, WPARAM wParam, LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int