新手求救:到底是什么机制呀,搞的好晕呀----关于《VC技术内幕》的第一个例程

arthurli 2000-04-22 11:21:00
我用《VC技术内幕》第二章的最简单的“HELLO,WORLD!”例子,就是那个只有一个myapp.h和myapp.cpp的原理例子,完全照抄,myapp.cpp编译通过,但一连接就出错报告如下:

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex

libcd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

Debug/MyApp.exe : fatal error LNK1120: 3 unresolved externals
...全文
319 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
laotong 2000-04-26
  • 打赏
  • 举报
回复
我把代码复制一遍-----
茂奇软件 2000-04-26
  • 打赏
  • 举报
回复
you have open a wrong projects wizard.
superbat 2000-04-26
  • 打赏
  • 举报
回复
大家说的有道理,用appwizard 生成一个,然后把project->setting中的debug和link选项中的设置复制到你的工程相应的debug和link中就行了。
sintony 2000-04-26
  • 打赏
  • 举报
回复
原来你建的是Windows Appication而不是Windows Concole Appication这就好办多了,
建立一个空的Windows Appication再add files to project就可以了。Windows Appication默认是多线程的。对了你的程序要MFC支持,所以还不能建空的Windows Appication,建一个有MFC支持的Windows Appication吧,然后把代码替换掉。
试试吧!
RiverHill 2000-04-26
  • 打赏
  • 举报
回复
我知道了。
你的核心不就是两句话:
CPaintDC dc(this);
dc.TextOut(0,0,"Hello,world!");
好办。
你用AppWizard生成一个全部都是默认的应用程序。然后
找到视类的OnDraw()函数,将那两个句话拷进出,一切OK;搞定。
chengwu 2000-04-26
  • 打赏
  • 举报
回复
将project->setting中c++选项的编译开关/MLd (debug)或/ML(release)改为/MTd或/MT.(前一个开关是单线程,后一个是多线程)
clickyy 2000-04-25
  • 打赏
  • 举报
回复
vc与c不同,不是只要cpp文件就可以了。
首先要选File-->New-->Project下的windows appication,
然后选中an empty project,
最后将你编的cpp程序加入进来才行。

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex

libcd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

Debug/MyApp.exe : fatal error LNK1120: 3 unresolved externals
这三个问题就是没有找到工程文件(project)造成的。
LiuRong 2000-04-24
  • 打赏
  • 举报
回复
用appwizard生成一个CONCOLE的程序框架, 再拷贝代码.
arthurli 2000-04-24
  • 打赏
  • 举报
回复
用liurong的方法实验,结果错误依旧。
用sintonty的方法实验,2 errors + 1 warning:
LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library
libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/revise.exe : fatal error LNK1120: 1 unresolved externals

用两者合一,则剩下上示两条errors,好象是找不着main函数

有人让我贴原代码:
//MyApp.h
//application class
#include <afxwin.h>
class CMyApp : public CWinApp
{
public:
virtual BOOL InitInstance();
};

//frame window class
class CMyFrame : public CFrameWnd
{
public:
CMyFrame();
protected:
//"afx_msg" indicates that the next two functions are
//part of the MFC library message dispatch system
afx_msg void OnLButtonDown(UINT nFlags,CPoint point);
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP()
};

//MyApp.cpp
#include <afxwin.h> //MFC library header file declares base classes
#include "myapp.h"

CMyApp theApp; //the one and only CMyApp object

BOOL CMyApp::InitInstance()
{
m_pMainWnd=new CMyFrame();
m_pMainWnd->ShowWindow(m_nCmdShow);

m_pMainWnd->UpdateWindow();
return TRUE;
}

BEGIN_MESSAGE_MAP(CMyFrame,CFrameWnd)
ON_WM_LBUTTONDOWN()
ON_WM_PAINT()
END_MESSAGE_MAP()

CMyFrame::CMyFrame()
{
Create(NULL,"MYAPP APPLICATION");
}

void CMyFrame::OnLButtonDown(UINT nFlags,CPoint point)
{
TRACE("Entering CMyFrame::OnLButtonDown - %lx,%d,%d\n",
(long)nFlags,point.x,point.y);
}

void CMyFrame::OnPaint()
{
CPaintDC dc(this);
dc.TextOut(0,0,"Hello,world!");
}

再次感谢各位!!!
wild 2000-04-24
  • 打赏
  • 举报
回复
把源代码贴上来
sintony 2000-04-23
  • 打赏
  • 举报
回复
不是你的错,你的workspase默认是单线程的,在project->setting中c/c++页中将
categordey的Code Generation 中的 use runtime lib改成mulitithreaded(多线程)即可,试试吧
wlrwx 2000-04-23
  • 打赏
  • 举报
回复
嘿嘿~,仔细检查你的程序,多半是低级错误造成的~~
lpj 2000-04-23
  • 打赏
  • 举报
回复
检查你的project—setting中的设置;
用AppWizzard生成框架后先运行一遍再写代码。

Elephant 2000-04-23
  • 打赏
  • 举报
回复
这是VC版本造成的问题。

16,466

社区成员

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

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

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