Link 2001,解决???

相门三少 2010-05-26 02:42:58
#include <Windows.h>
#include <stdio.h>

int main(int argc, char* argv[])
{
HANDLE hDevice =
CreateFile("\\\\.\\HelloDDK",
GENERIC_READ | GENERIC_WRITE,
0, // share mode none
NULL, // no security
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL ); // no template

CloseHandle(hDevice);
return 0;
}

在VC2005中编译出错
error C2664: “CreateFileW”: 不能将参数 1 从“const char [13]”转换为“LPCWSTR”
感觉好笨,将字符集改为“使用多字节字符集”后,编译通过,但链接又出问题:
main.obj : error LNK2019: 无法解析的外部符号 __RTC_CheckEsp,该符号在函数 _main 中被引用
main.obj : error LNK2001: 无法解析的外部符号 __RTC_Shutdown
main.obj : error LNK2001: 无法解析的外部符号 __RTC_InitBase

然后使用论坛的一位兄弟说的: 将代码生成中的 缓冲区安全检查 设为“否”

的确,链接也能通过

但是在真正调用的时候,会导致系统蓝屏

请问还有什么解决方法,针对链接问题
...全文
616 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
thehunters 2010-05-27
  • 打赏
  • 举报
回复
vc2005默认Unicode,把工程属性设置为多字节
相门三少 2010-05-27
  • 打赏
  • 举报
回复
DDK包含库路径放到发VC库路径的前面造成的问题,解决了
相门三少 2010-05-27
  • 打赏
  • 举报
回复
重装太麻烦了,要装好多软件,很多环境都要重新配置,烦死了
独酌逸醉 2010-05-26
  • 打赏
  • 举报
回复

#include "stdafx.h"
#include <windows.h>


int _tmain(int argc, _TCHAR* argv[])
{
HANDLE hDevice = CreateFile(_T("test.txt"),
GENERIC_READ | GENERIC_WRITE,
0, // share mode none
NULL, // no security
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL ); // no template

if(hDevice == INVALID_HANDLE_VALUE)
{
printf("创建文件失败!\n");
return 0;
}
CloseHandle(hDevice);
return 0;
}



没有问题啊,是不是你的系统有问题了。泄了重新装一下吧。
soulzbg 2010-05-26
  • 打赏
  • 举报
回复
帮顶下
Normandie007 2010-05-26
  • 打赏
  • 举报
回复
cattycat 2010-05-26
  • 打赏
  • 举报
回复
我vs08没有问题,可能是你的project使用的是unicode字符,设置一下。
相门三少 2010-05-26
  • 打赏
  • 举报
回复
谁给点idear? 痛苦死了
相门三少 2010-05-26
  • 打赏
  • 举报
回复
我最近装了DDKWINZARD,难道与这个有关???
编译DRIVER倒不会出问题
相门三少 2010-05-26
  • 打赏
  • 举报
回复
但只是一段很简单的代码啊
wade_2003 2010-05-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 c_cfan 的回复:]
我的VC2005发神经病了, 我建立一个控制台项目,什么CODE都不添加,结果也报错
test1.obj : error LNK2001: 无法解析的外部符号 __RTC_Shutdown
test1.obj : error LNK2001: 无法解析的外部符号 __RTC_InitBase
[/Quote]

那估计是2005有问题了,少了什么文件吧
wade_2003 2010-05-26
  • 打赏
  • 举报
回复
main.obj : error LNK2019: 无法解析的外部符号 __RTC_CheckEsp,该符号在函数 _main 中被引用
main.obj : error LNK2001: 无法解析的外部符号 __RTC_Shutdown
main.obj : error LNK2001: 无法解析的外部符号 __RTC_InitBase

这种类似的问题我遇到过两次:
1.没有将文件添加到工程
2.没有给相应的函数写实现代码

LZ可以看看是不是这两种情况
相门三少 2010-05-26
  • 打赏
  • 举报
回复
我的VC2005发神经病了, 我建立一个控制台项目,什么CODE都不添加,结果也报错
test1.obj : error LNK2001: 无法解析的外部符号 __RTC_Shutdown
test1.obj : error LNK2001: 无法解析的外部符号 __RTC_InitBase

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧