8. 生成的exe程序在其它机器无法运行
症状:缺少dll库文件
解决方法:项目属性—>C/C++—>代码生成—>运行库—>多线程
其它选项如下
多线程DLL:exe依赖的系统库文件,以动态库dll形式关联,需将exe连同系统dll一起打包发布。
多线程:将所需系统库文件直接编译进exe,直接发布exe文件即可。
7. 工程文件无目录结构
原因:缺少filters文件
6. 有未处理的异常: 0xC0000005: 读取位置0xcdcdcdcd时发生访问冲突
现场
原因:lpIDelploy空指针
总结:空指针报0xC0000005异常,异常信息为”读取位置0xcdcdcdcd时发生访问冲突“。
5. error LNK1120: 31个无法解析的外部命令
函数连接错误即编译器只拥有函数声明却无法找到函数实现
5.1 .cpp类实现文件中,成员函数名前漏掉加类名,如
bool OnGetAlarmType(){...}应改为
bool JsonOpt::OnGetAlarmType(){...}
5.2 文件重名导致的连接错误
编译期间VS2010会将所有cpp文件按名字编译为obj文件;
若已存在obj文件,则同名cpp文件被自动忽略。
即如果同时存在两个JsonOpt.cpp,则生成第一个JsonOpt.obj后,编译器试图编译第二个JsonOpt.cpp时发现JsonOpt.obj已存在,则自动忽略此文件,
这将导致所有引入第二个JsonOpt.cpp头文件JsonOpt.h的文件出现函数连接错误。
二零一五年二月五日 上午十时
出现问题如下
查看所有连接错误函数,没有发现问题。查看输出,发现如下问题:
JsonOpt.cpp和SqlOpt.cpp存在同名文件。
4.CTRL-回到上一点
F12:转到函数或结构体定义的地方
CTRL-:回到刚才的地方
3.
问题:在现有项目基础上无法添加新项目
根源:解决方案资源管理器显示不完整
解决方法:菜单栏—>工具—>选项—>项目和解决方案,“总是显示解决方案”打钩
2.调试dll
a.设dll工程为启动项目
b.右键属性,配置属性—>调试—>命令,键入exe路径
如C:Program FilesJovisionJVMS 6100vmsclient.exe
c.配置属性—>常规—>输出目录,键入exe所在目录
如C:Program FilesJovisionJVMS 6100
c.开始调试
则dll项目启动后自动调用可执行文件,并听从调试
1.
病症:
Debug下出现,Release下正常
解决方法:
项目属性—>C/C++—>代码生成—>运行库—>多线程 DLL (/MD)