VS2015的相关操作笔记

来源:互联网 发布:淘宝怎么绑定手机号 编辑:程序博客网 时间:2024/05/16 02:00

VS2015工程打包成setup文件

参考:http://www.cnblogs.com/yinsq/p/5254893.html

光谱显示项目:【vs2015打包制作SETUP程序,要求能在XP及以上系统上运行】

利用InstallShield Limited Edition Project新建项目,依次设置项目信息,其中添加文件时,把成功运行的release文件夹中所有文件,以及相关的数据等包括进去,接着自定义图标名称,对话框内容等。

打包环境:Microsoft .NET Framework 4.0 Full.NET 3.5 SP1【只能在64位运行成功】

继续添加:visual C++14.0 MFC(x86)visual C++14.0 CRT(x86), .NET Framework 3.5 (可能有的也不需要,看着x86像的添加)32位机子也能运行】

按照以上步骤得到的setup,在xp系统上会显示不存在。原工程需重新编译。

参考:https://zhidao.baidu.com/question/436245826618190124.html 

原工程编译,选择项目属性平台工具集选 Visual Studio 2015 -Windows XP (v140_xp)

此工程弹出许多未定义的错误,需添加相关路径,复制相应的lib等。

另外,打包时需添加xp补丁:这里我添加的是:Windows Installer 4.5 for Windows XP SP2 and later(x86)

还需学习问题:怎么更改图标,打包环境的选择规范

Vs项目做成DLL:

http://www.cnblogs.com/woshitianma/p/3681403.html

http://www.cnblogs.com/tiangaipain/p/3712500.html

1.    生成:

把函数封装(调用时,需要输入什么)

文件->新建->项目->visual c++->win32->win32控制台应用程序(win32项目也可以);填写项目名称MyDLL->确定->下一步->DLL(附加选项 对空项目打钩)->完成。

添加相应的cpph文件,其中头文件要加这个:

extern "C"__declspec(dllexport) int Add(int &a,int &b);

点击生成解决方案

2.    调用:

文件--》新建--》项目--win32控制台应用程序,起名为test_myDll确定,下一步,控制台应用程序,选择空项目。

点击源文件新建一个cpp代码如下:

#include"WormDetect.h"

#include<iostream>

usingnamespace std;

#pragma comment(lib,"E:\\project\\虫子检测项目\\虫子dll\\WormDetect\\Debug\\WormDetect.lib")

intmain()

{

string derectory = "..\\test.txt";

char* templatePath ="..\\test_templates\\";

int ShowCannyImg = 0;

int ShowAfterRemoveImg = 0;

WormDetect(derectory, ShowCannyImg,ShowAfterRemoveImg, templatePath);

return 0;

}

配置工程属性: 除了调用的opencv路径,还需要包含目录里添加DLL.h所在的目录;

库目录里添加头文件DLL.lib所在的目录 ;链接器->输入->附加依赖项里添加“MyDLL.lib”(若有多个 lib 则以空格隔开)

包含目录

E:\project\虫子检测项目\虫子dll\WormDetect\WormDetect

D:\ProgramFiles\opencv2.4.8\build\include

D:\ProgramFiles\opencv2.4.8\build\include\opencv

D:\ProgramFiles\opencv2.4.8\build\include\opencv2

库目录

E:\project\虫子检测项目\虫子dll\WormDetect\Debug

D:\ProgramFiles\opencv2.4.8\build\x86\vc12\lib

依赖项

WormDetect.lib

opencv_core248d.lib

opencv_highgui248d.lib

opencv_legacy248d.lib

opencv_imgproc248d.lib

把相应的DLL考到这个程序的debug

封装的函数调试:把源代码直接拷贝到主工程里,进去调试通再说

VS2015+OPENCV

1.    Opencv高版本变动:

问题:原系统WIN7+VS2015+Opencv2.4.8,重装win10系统后,发现原来的项目不能运行。所有debug版错误,应用程序无法正常启动0xc000007b

解决:配置Opencv3.2.0,拷贝opencv_world320d.dll

opencv_core248.libopencv_highgui248.libopencv_imgproc248.lib

改成opencv_world320d.lib

由于新版本中有的函数改变,所以需要修改部分函数名。如:CvcopyImage改成cvCopy                            

2.    VS2015+opencv1.0

64位出错,要用32位的!

去掉配置过程中的继承值:打开属性管理窗口,把*CPP.x64中的配置内容清空。

 

 

Vs错误修改:

1. 错误   C4996     'itoa':The POSIX name for this item is deprecated. Instead, use the ISO C and C++conformant name: _itoa. See online help for details.

※在stdafx.h中所有include之前添加:

#define_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1

#define _AFX_SECURE_NO_WARNINGS     // MFC

#define _ATL_SECURE_NO_WARNINGS     // ATL

#define _CRT_SECURE_NO_WARNINGS     // C

#define _CRT_NONSTDC_NO_WARNINGS    // CPOSIX

#define _SCL_SECURE_NO_WARNINGS     // STL

2.错误C4996  'fopen': This function or variable may beunsafe. Consider using fopen_s instead. To disable deprecation, use_CRT_SECURE_NO_WARNINGS.

※在项目 ->属性 -> c/c++ ->预处理器 ->点击预处理器定义,编辑,加入_CRT_SECURE_NO_WARNINGS





原创粉丝点击