编译通过,link出错

syjeffdyg 2010-05-12 12:09:56
主要文件源代码:

// ID3.cpp : 定义应用程序的类行为。
//

#include "stdafx.h"
#include "ID3.h"
#include "ID3Dlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CID3App

BEGIN_MESSAGE_MAP(CID3App, CWinApp)
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()


// CID3App 构造

CID3App::CID3App()
{
// TODO: 在此处添加构造代码,
// 将所有重要的初始化放置在 InitInstance 中
}


// 唯一的一个 CID3App 对象

CID3App theApp;


// CID3App 初始化

BOOL CID3App::InitInstance()
{
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControlsEx()。否则,将无法创建窗口。
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// 将它设置为包括所有要在应用程序中使用的
// 公共控件类。
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);

CWinApp::InitInstance();

AfxEnableControlContainer();

// 标准初始化
// 如果未使用这些功能并希望减小
// 最终可执行文件的大小,则应移除下列
// 不需要的特定初始化例程
// 更改用于存储设置的注册表项
// TODO: 应适当修改该字符串,
// 例如修改为公司或组织名
SetRegistryKey(_T("应用程序向导生成的本地应用程序"));

CID3Dlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: 在此放置处理何时用
// “确定”来关闭对话框的代码
}
else if (nResponse == IDCANCEL)
{
// TODO: 在此放置处理何时用
// “取消”来关闭对话框的代码
}

// 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
// 而不是启动应用程序的消息泵。
return FALSE;
}




错误信息:
1>------ 已启动生成: 项目: ID3, 配置: Debug Win32 ------
1>正在链接...
1>ID3.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CID3Dlg::CID3Dlg(class CWnd *)" (??0CID3Dlg@@QAE@PAVCWnd@@@Z),该符号在函数 "public: virtual int __thiscall CID3App::InitInstance(void)" (?InitInstance@CID3App@@UAEHXZ) 中被引用
1>libcmtd.lib(crt0.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用
1>.\Debug/ID3.exe : fatal error LNK1120: 2 个无法解析的外部命令
1>生成日志保存在“file://d:\ID3\ID3\Debug\BuildLog.htm”
1>ID3 - 3 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========

请问什么原因,分不够再加。
...全文
165 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuhuwy 2010-05-12
  • 打赏
  • 举报
回复
构造函数的参数,返回值你再检查一下,看是不是不匹配
fangchao918628 2010-05-12
  • 打赏
  • 举报
回复
恩...啥都没改
syjeffdyg 2010-05-12
  • 打赏
  • 举报
回复
在VS2008中?
fangchao918628 2010-05-12
  • 打赏
  • 举报
回复
我的通过了...你rebuild All 试下
syjeffdyg 2010-05-12
  • 打赏
  • 举报
回复
那段程序太长,粘不上
我把代码放在question_email@163.com,密码123456
能帮忙看下吗?
用户 昵称 2010-05-12
  • 打赏
  • 举报
回复
没有CID3Dlg这个函数,这是个构造函数。

也没有指定入口函数
jyh_baoding 2010-05-12
  • 打赏
  • 举报
回复
可能是程序源码的配套问题导致
Eleven 2010-05-12
  • 打赏
  • 举报
回复
1>libcmtd.lib(crt0.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用

工程建错了,你选择的是Win32 consol application,而你写的MFC程序,入口时WinMain
许文君 2010-05-12
  • 打赏
  • 举报
回复
工程建错了??
zwfgdlc 2010-05-12
  • 打赏
  • 举报
回复
我试了下,没作任何改动,VC2005编译通过。编译好的文件已经发到你的邮箱。
是不是你的VS有问题?

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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