论坛: 编程破解 标题: 急!VC++的绝对新手求教一个问题。大家帮帮忙!! 复制本贴地址    
作者: yy2080 [yy2080]    论坛用户   登录
我今天才开始学WINDOWS下的编程,可是我突然发现几乎所有的教材上的程序我输进去后都不能运行,哪怕是最简单的那个HELLO WORLD。
我从网上下的一些别人写的小程序,很多也不能运行。多半是LINK的时候有错。
以下是摘录的一些DEBUG的信息:
PhotoScreenView.obj : error LNK2001: unresolved external symbol "public: static struct CRuntimeClass const CPhotoScreenDoc::classCPhotoScreenDoc" (?classCPhotoScreenDoc@CPhotoScreenDoc@@2UCRuntimeClass@@B)
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/PhotoScreenView.exe : fatal error LNK1120: 4 unresolved externals
Error executing link.exe.


大家帮忙告诉我是怎么回事啊?

地主 发表时间: 05-02-01 01:43

回复: 286 [unique]   版主   登录
http://www.20cn.net/cgi-bin/club/show.pl?key=cadFPOGsnLDz&cat=tech&forum=code&page=1&position=3&id=1090805499

参照上面文章,你的问题出在“Project”那一步的选取上。

B1层 发表时间: 05-02-01 08:58

回复: yy2080 [yy2080]   论坛用户   登录
我从书上抄下来一些代码运行,可是就是连接的时候出错,是怎么回事啊?
举个例子,比如:

#include <afxwin.h>

class CHelloApp:public CWinApp
{
public:
virtual BOOL Initlnstance();
};
CHelloApp HelloApp;
class CHelloWindow:public CFrameWnd
{
CStatic *CS;
public:
CHelloWindow ();
};
BOOL CHelloApp::Initlnstance()
{
m_pMainWnd=new CHelloWindow();
m_pMainWnd->ShowWindow (1);
m_pMainWnd->UpdateWindow();
return TRUE;
}
CHelloWindow::CHelloWindow()
{
Create(NULL,"hello world",WS_OVERLAPPEDWINDOW,CRect(0,0,200,200));
CS=new CStatic();
CS->Create ("hello world",WS_CHILD|WS_VISIBLE|SS_CENTER,CRect(50,60,150,150),this);
}

这是个MFC的一个最简单的例子,可是输进去后编译有一个错,连接就有4个错,如下:
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/hello.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.

但在设置里说明使用MFC,就会剩下两个。这是怎么回事?

B2层 发表时间: 05-02-01 17:27

回复: 286 [unique]   版主   登录
1 File/New.
2 在New对话框中选Project标签,并在该标签下选Win32 Application。然后在右边Project name中输入你想要的工程名子。这里假设为Hello
3 OK后选An Empty Project。
4 Finish后,选FileView标签。
5 右击Source Files选Add Files to folder.然后输入一个用户名,后面说该文件不存在,不管。单击下面列出的新加的用户名。把代码复制进去。
6 选Project/Settings,看右边General标签中的Microsoft foundation Classes,设置该项为Use MFC in a Shared DLL.
7 运行。


B3层 发表时间: 05-02-02 09:18

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号