记录自用,之前遇到的一些使用问题和解决方法。
#include <iostream>的位置:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include
包含目录:
#添加Windows.h
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\winrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared
#添加opencv
G:\Opencv3.4.5\opencv\build\include\opencv2
G:\Opencv3.4.5\opencv\build\include\opencv
G:\Opencv3.4.5\opencv\build\include
库目录:
#添加Windows.h
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64
opencv2.4.9
#添加opencv
G:\Opencv3.4.5\opencv\build\x64\vc15\lib
-----------------------------------------------------------------------------------------------------
附加依赖项
opencv_world345d.lib
LNK1104:无法打开文件kernel32.lib的解决方法解决方法
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x64
link110 vs2017无法打开文件"msvcprt.lib"/"msvcprtd.lib"
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x86
是由于没有安装v142工具集,其实v142对应的是VS2019,我的项目从另外一台电脑copy过来的,之前的编译器VS2019,现在是VS2017,所以报的这个错误。
v142–>VS2019
v141–>VS2017
v140–>VS2015
v120–>VS2013
如何调出属性管理器“Debug| Release|”这些
VS 2017 -> 视图 -> 其他窗口 -> 属性管理器
如何将C++ exe程序发给别人也能用
1.电脑提示缺少XXXD.dll
说明是用debug生成的exe程序,“D”表示debug
要使用release,生成.exe 要注意64位和32位的区别
2.电脑提示缺少XX.dll
说明别人的电脑上没有VS 2017的运行库
解决方法一:(适用控制台等普通的,不适用MFC)
项目属性页--C/C++--所有选项--运行库--将“多线程 DLL (/MD)”改为“多线程 (/MT)”
在进行release,可以发现这样生成的exe文件明显变大了,因为他将这些库都编译进去了
解决方发二:在对方电脑上安装对应的库
Microsoft Visual C++ 2017 Redistributable
程序的调试:
开始调试F5:遇到断点会停下来,按下逐过程F10,会运行断点所在语句行
开始执行不调试Ctrl+F5:不会在断点处停下来
不加断点,开始调试F5,程序不会停下来
让debug生成的exe程序单机打开后会停下来;和不加断点,开始调试F5停下来
可使用:“system("pause")”,只在Windows上有效
逐过程F10和逐语句F11和跳出的区别
区别在于:逐语句会进入断点处的函数,而逐过程不会
跳出 当进入断点处的函数后,按跳出,会不继续运行函数内的语句,跳出到函数执行完以后的第一条语句处
继续F5
使用断点调试时,将鼠标移至变量处,可以将其固定后,能够看到他的数值是多少,并且断点
可以设置改变量的条件,比如在循环中让a在等于10000时停下来,可以在断点处设置条件“a == 10000”,然后按
下F5,循环将自动运行,直至a等于10000时停下来
Microsoft Visual C++ 2017 Redistributable(x64)的位置
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.16.27012\vc_redist.x64.exe
修改dll文件的生成位置:
项目属性页-链接器-常规-输出文件:将$(Outdir)$(TargetName)$(TargetExt) 改成 .\$(TargetName)$(TargetExt)
就可将原来在X64\debug文件夹生成.dll文件,直接在主目录下生成
注意项目属性页-常规-配置类型为 动态库(.dll)
记录自用,之前遇到的一些使用问题和解决方法。
#include <iostream>的位置:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include
包含目录:
#添加Windows.h
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\winrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared
#添加opencv
G:\Opencv3.4.5\opencv\build\include\opencv2
G:\Opencv3.4.5\opencv\build\include\opencv
G:\Opencv3.4.5\opencv\build\include
库目录:
#添加Windows.h
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64
opencv2.4.9
#添加opencv
G:\Opencv3.4.5\opencv\build\x64\vc15\lib
-----------------------------------------------------------------------------------------------------
附加依赖项
opencv_world345d.lib
LNK1104:无法打开文件kernel32.lib的解决方法解决方法
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x64
link110 vs2017无法打开文件"msvcprt.lib"/"msvcprtd.lib"
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x86
是由于没有安装v142工具集,其实v142对应的是VS2019,我的项目从另外一台电脑copy过来的,之前的编译器VS2019,现在是VS2017,所以报的这个错误。
v142–>VS2019
v141–>VS2017
v140–>VS2015
v120–>VS2013
如何调出属性管理器“Debug| Release|”这些
VS 2017 -> 视图 -> 其他窗口 -> 属性管理器
如何将C++ exe程序发给别人也能用
1.电脑提示缺少XXXD.dll
说明是用debug生成的exe程序,“D”表示debug
要使用release,生成.exe 要注意64位和32位的区别
2.电脑提示缺少XX.dll
说明别人的电脑上没有VS 2017的运行库
解决方法一:(适用控制台等普通的,不适用MFC)
项目属性页--C/C++--所有选项--运行库--将“多线程 DLL (/MD)”改为“多线程 (/MT)”
在进行release,可以发现这样生成的exe文件明显变大了,因为他将这些库都编译进去了
解决方发二:在对方电脑上安装对应的库
Microsoft Visual C++ 2017 Redistributable
程序的调试:
开始调试F5:遇到断点会停下来,按下逐过程F10,会运行断点所在语句行
开始执行不调试Ctrl+F5:不会在断点处停下来
不加断点,开始调试F5,程序不会停下来
让debug生成的exe程序单机打开后会停下来;和不加断点,开始调试F5停下来
可使用:“system("pause")”,只在Windows上有效
逐过程F10和逐语句F11和跳出的区别
区别在于:逐语句会进入断点处的函数,而逐过程不会
跳出 当进入断点处的函数后,按跳出,会不继续运行函数内的语句,跳出到函数执行完以后的第一条语句处
继续F5
使用断点调试时,将鼠标移至变量处,可以将其固定后,能够看到他的数值是多少,并且断点
可以设置改变量的条件,比如在循环中让a在等于10000时停下来,可以在断点处设置条件“a == 10000”,然后按
下F5,循环将自动运行,直至a等于10000时停下来
Microsoft Visual C++ 2017 Redistributable(x64)的位置
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.16.27012\vc_redist.x64.exe
修改dll文件的生成位置:
项目属性页-链接器-常规-输出文件:将$(Outdir)$(TargetName)$(TargetExt) 改成 .\$(TargetName)$(TargetExt)
就可将原来在X64\debug文件夹生成.dll文件,直接在主目录下生成
注意项目属性页-常规-配置类型为 动态库(.dll)