请教一个很简单的问题!

garth1982 2005-07-23 12:07:27
在我看《MFC windows程序设计》这本书的时候,我按照书上的源代码,连第一个程序编译都没通过,请大家告诉我原因和方法,谢谢!
...全文
113 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
garth1982 2005-07-23
  • 打赏
  • 举报
回复
我是用直接添加头文件和实现文件的方式做的, 报的错就是如下的:
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Debug/MFC1.exe : fatal error LNK1120: 2 unresolved externals
s_hluo 2005-07-23
  • 打赏
  • 举报
回复
~~~~ 这个问题其实都挺简单的,看看它编译的错误是什么呀,根据错误信息去找原因咯
garth1982 2005-07-23
  • 打赏
  • 举报
回复
那我先建立一个MFC appWizard(exe)的时候,不是已经自动生成了住窗口吗? 那我如何去控制我需要自己生成的主窗口啊?》
handsomerun 2005-07-23
  • 打赏
  • 举报
回复
你是直接打开他上面的工程的吧

报什么错呢,这个很关键
s_hluo 2005-07-23
  • 打赏
  • 举报
回复
呵呵,建议先用AppWizard建一个MFC工程,做一个简单的经典的hello world程序吧
joycenter 2005-07-23
  • 打赏
  • 举报
回复
呵呵 是新建的工程(/项目)的类型不对。
应该选择MFC appWizard(exe)
garth1982 2005-07-23
  • 打赏
  • 举报
回复
我没有用附书光盘啊。我是自己手工敲进去的,我首先新建一个项目,然后在里面添加的头文件和实现文件,然后直接运行的啊。
就是说没有用到MFC的应用程序框架来辅助生成。
handsomerun 2005-07-23
  • 打赏
  • 举报
回复
啊,不对不对
楼主是所有的程序都不能运行是吧??
按理说附书光盘这些都是配好的,都会把需要的东西添加上去的

那可能你的vc编译环境没设好了
handsomerun 2005-07-23
  • 打赏
  • 举报
回复
你调用了endthreadex,和beginthreadex这两个函数??
那么有没有把相应的lib加入进去呢
s_hluo 2005-07-23
  • 打赏
  • 举报
回复
个人认为可能有两个原因导致出错,呵呵,仅是猜测而且~~~

1 .你使用了其他的静态库文件中的函数,而系统在指定的路径(比如工程的目录下,system32目录下,
还有设置的环境变量path...)又找不到该库文件。从而导致编译链接时出错.
解决方法:
在你的VC中,project,settings,选择link标签,在object/libary modules中,加入与出错函数有关的库文件再重新编译.

2. 可能因为你用了多线程,在Project Setting -> C/C++ ->Category 选code genera 然后在 run time lib中选择多线程模式,看看现在编译行不行。


呵呵,good luck!




tangjun237 2005-07-23
  • 打赏
  • 举报
回复
需要包含相应的头文件才行!做MFC必须包含"stdafx.h"
handsomerun 2005-07-23
  • 打赏
  • 举报
回复
这样吧
你用MFC appWizard(exe)新建一个基于对话框的程序,
然后在InitInstance里面把如下的代码注释掉
换成你书本上的代码,然后再做吧
然后系统生成的那个CxxDlg类你不用管它了,删掉也可以了,不删掉也可以,不去管它就可以了

用这样的框架就可以了

CxxDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}
garth1982 2005-07-23
  • 打赏
  • 举报
回复
我不知道大家有没有看过MFC windows 程序设计这本书,里面的代码都是先给出一个头文件,头文件里面包括一个CWinApp类的派生类,以及一个CFrameWnd的派生类,然后实现CWinApp的虚函数InitInstance,在这个里面他会去生成一个窗口,是通过调用CFrameWnd类的派生类的构造函数来实现的!所以我不知道让MFC appWizard(exe)自动生成的时候如何去组织代码,能够让他运行的时候没有问题。
s_hluo 2005-07-23
  • 打赏
  • 举报
回复
那我先建立一个MFC appWizard(exe)的时候,不是已经自动生成了住窗口吗? 那我如何去控制我需要自己生成的主窗口啊?》

=========================================================================================

是已经自动生成窗口了呀.
你所说的"控制我需要自己生成的主窗口",你所以需要的是什么样的主窗口?~~~~

16,551

社区成员

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

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

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