解决方案 »
- 关于易海图的控件
- win2008服务中枚举桌面窗口
- 实现软件激活码方式注册
- VC++的VS助手
- unicode下写文本的换行是什么
- SOS!求视频抓图和录象功能的源代码,最好附加有各种关于视频效果设置功能,类似usb shot或者Amcap软件
- directx 8.1 ,directx 9.0 下载地址!!
- 请高手指教:急急急!!!如何让编辑框控件(CEdit)向父窗口发送WM_NOTIFY消息?
- 谁有用vc的api的编程方法编写的键盘监控程序的原码供学习一下?
- 我想让程序空闲的时候处理一些东西(就像处理工具条状态的函数),我怎么写像这样的函数?
- 关于RECV和Send的问题。大侠赐教。
- 关于消息参数的接收问题和一个关于函数的小问题
如果Data类是你程序中的,那么看一下cpp文件是否引入工程
如果Data是来自于某个库,那么看一下相应的lib文件是否引入工程
总之要让编译器链接时能找到函数的实现
将编译器的连接选项修改成/nodefaultlib1. 打开该项目的 “属性页”对话框。 有关详细信息,请参见 设置 Visual C++ 项目属性。 2. 单击 “链接器”文件夹。 3. 单击 “输入”属性页。 4. 选择 “忽略所有默认库”属性或在 “忽略指定库”属性中指定要忽略的库列表。 “命令行”属性页将显示对这些属性所做的更改的效果。 或者在你的源程序头一行,加上:
#pragma comment(linker, "/nodefaultlib:LIBCMT")
lib文件也是分32位和64位的,win32项目是不能编译64位的,你可以在属性-配置管理器里改成x64平台,不过这样.exe就不能再32位系统运行;或者去网上下一个32位的文件,替代该文件。
2、如果是dll动态库,是不是函数没有导出呢?
1楼完全正解。楼主记住,出现LINK错误就是因为编译器找不到函数体的实现,只有函数的声明