存档

文章标签 ‘Error’

error LNK2019 无法解析的外部符号

2013年4月20日 2 条评论

我是菜鸟我是菜鸟……最近遇到一个常识性错误,关于内联函数的(error LNK2019 无法解析的外部符号)。
通常编写函数时,会把声明放到头文件(*.h)中,而把函数定义放在源文件(*.cpp)中,在其他源文件中使用时包含对应的头文件即可。
但是内联函数(inline)不要定义在cpp文件中,因为我们通常都是包含头文件,而编译器在编译时会对内联函数进行展开操作,但是编译器只能在包含的头文件里搜索函数的定义体,如果头文件只有声明,显然编译器不知道该如何展开,于是就出错了。
每一个使用内联函数的地[......]

继续阅读

const成员函数重载-error C2678 二进制< 没有找到接受const类型的左操作数的运算符

2013年3月5日 3 条评论

最近遇到的一个错误,重载类的小于比较操作符,然后通过algorithm中的sort对其进行排序时提示了一个编译错误:
1>—— 已启动生成: 项目: T, 配置: Debug Win32 ——
1>正在编译…
1>Main.cpp
1>e:\code\X\t\t\main.cpp(34) : warning C4996: ‘freopen’: This function or variable may be unsafe[......]

继续阅读

分类: C++编程 标签: ,

Python2.6 py2exe打包程序提示应用程序配置不正确

2012年3月2日 12 条评论

为了方便没有安装Python的电脑运行Python脚本,可以使用py2exe这个工具对Python脚本进行打包最终得到一个exe文件。但Python 2.6下打包之后的EXE在别的电脑上竟然跑不起来,就和VS2008 SP1写的Win32 Console程序在别的电脑上跑不起来一样,提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”

使用Depends查看打包后的EXE文件,发现找不到MSVCR90.DLL。于是我去Visual Studio 2008的安装目录下copy了一份过来(C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT),但是仍然无法解决问题。

最后去网上找,发现是我的msvcr90.dll版本不一致。py2exe打包的程序需要9.0.21022.8这个版本号的MSVCR90.DLL[......]

分类: Python 标签: , ,

Win7下安装Metasploit

2012年2月26日 没有评论

如果在中文版本的Windows7上安装Metasploit,有可能会提示如下错误:
There has been an error.
Error running C:\metasploit/postgresql/bin/psql.exe -U postgres
-p 7337 -h localhost -c “ALERT USER postgres PASSWORD ‘*****’”
:psql: could not connect to server: Connection refused
(0x00002740D/10061)
Is the server running on host “localhost” and accepting
TCP/IP connections on port 7337?
据说是因为PostgreSQL的语言问题,通过将“控制面板->区域和语言->格式”设置为“英语(美国)”即可解决问题。Metasploit安装完成后可以改成原来的中文。[......]

分类: 逆向调试 标签: , ,

Microsoft Increment Linker已停止工作解决方案

2011年10月17日 3 条评论

在Windows 7下安装Visual Studio 2008,写SDK程序时链接器经常出问题,如果程序里面包含了资源,则出问题的几率就更大了。一般是Debug版本在链接时提示“Microsoft Increment Linker已停止工作”,如图所示。
不管是不是以管理员身份运行Visual Studio 2008,这样的问题都会出现;网上找了一下,有一个临时性的解决方案:打开项目的“属性”对话框,单击“链接器”选项,单击“常规”属性页,修改“启用增量链接”属性为“否(/INCREMENTAL[......]

继续阅读

分类: Windows SDK 标签: ,

Python灰帽子byref(process_information)

2011年7月16日 33 条评论

最近决定把空出来的时间学习Python,基础部分则是打算从网上吸收各种教程,手头的书籍选择《Python灰帽子——黑客与逆向工程师的Python编程之道》,不过才开始写第三章的代码就遇到一个问题。因为书上漏掉了几行代码,而我是照着敲的,所以运行时出现了下面的提示:
D:\Python\Debugger>python my_test.py
Traceback (most recent call last):
File “my_test.py”, line 4, in
[......]

继续阅读

分类: Python 标签: , ,

error C3861 InitializeCriticalSectionAndSpinCount identifier not found

2011年7月8日 没有评论

在使用Visual Studio编译一个文件时,发现一个奇怪的编译错误:ERROR C3861,提示没有找到InitializeCriticalSectionAndSpinCount。难道拼写错了?但是没有啊。提示信息如下:

.\Deadlock.cpp(28) : error C3861: ‘InitializeCriticalSectionAndSpinCount’: identifier not found
.\Deadlock.cpp(32) : error C3861: ‘Ini[......]

继续阅读

[转]Windows 2000错误代码和提示

2011年6月1日 2 条评论

个人觉得很有用的一张表,这是网上流传的一张Windows 2000的错误代码表,其实在其他版本的Windows下也是可以对照着用的,至少在Windows XP下的错误代码可以找到一些。尤其是对于驱动开发或者喜欢用ntdll中导出的Native API的朋友而言。当STATUS是一个莫名其妙的数字的时候是不是感到很困惑呢?那种负数的错误代码代表了什么?比如返回-1073741819这样一个STATUS。来查一下这张表吧。绝对很有帮助。

1 MESSAGETABLE
{
0, &qu[......]

继续阅读

MFC调用CFileDialog之后目录改变

2011年5月28日 5 条评论

今天在写MFC程序时发现调用CFileDialog之后,再来用相对路径打开程序目录下的文件就不对了,打不开了。后来一调试,发现是程序的路径变成了CFileDialog所选择的路径。
解决方法:在调用CFileDialog的DoModal之前使用GetCurrentDirectory获取程序的目录并且保存下来,然后在DoModal之后嗲用SetCurrentDirectory恢复就可以了。这不会影响到CFileDialog的目录,因为它使用的是绝对路径。

感谢gewala提醒:
在CFileDi[......]

继续阅读

分类: MFC开发 标签: , ,

error C2440 reinterpret_cast 无法从NMHDR *转换为NMITEMACTIVATE

2011年5月26日 没有评论

错误描述:error C2440: “reinterpret_cast”: 无法从“NMHDR *”转换为“NMITEMACTIVATE”;转换要求构造函数或用户定义的转换运算符,而该运算符不能由 const_cast 或 reinterpret_cast 使用
错误起因:在VS2008中,当为MFC的CListCtrl控件添加NM_RCLICK事件响应时VS自动生成的代码会漏掉一个*号。

void CProjectNameDlg::OnNMRClickListProcess(NMHD[......]

继续阅读

分类: MFC开发 标签: , ,