本人正在自学VC,买了一本教材(含光盘),可直接运行*.DSW文件时没有任何显示,运行*.CPP文件能够显示内容,但不能正确编译,显示如下错误,由于是自学自己实在是力不从心,现向各位高手请教应当如下正确打开并编译一个人家已经写好的程序?谢谢了,下边是当时编译CPP文件时的错误提示LINK : LNK6004: Debug/11_6.exe not found or not built by the last incremental link; performing full link
11_6.obj : error LNK2001: unresolved external symbol "public: __thiscall CMy11_6Dlg::CMy11_6Dlg(class CWnd *)" (??0CMy11_6Dlg@@QAE@PAVCWnd@@@Z)
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/11_6.exe : fatal error LNK1120: 4 unresolved externals
Error executing link.exe.

解决方案 »

  1.   

    nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
    nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex:在菜单的setting里面, c/c++ 里面code generation中的use run time library选(debug)multthreaded
      

  2.   

    工程类型不对
    setting中c/c++中option中subsystem:console改为windows
    link中选择MTD多线程
      

  3.   

    你可以看它的HTML文档,里面有他编译时的设置,你可以效仿
      

  4.   

    在菜单的setting里面, c/c++ 里面code generation中的use run time library选(debug)multthreaded
    setting中c/c++中option中subsystem:console改为windows
    link中选择MTD多线程
    先谢谢二位高手的指点,可我重新安装了英文版的VC也没有在菜单中找到SETING,由于我是自学,没有人当面指点,所以我的问题对二位来说简单而幼稚,但对我来说确实一下也无法解决,真诚向二位请教,再次表示感谢。
    另此文件夹中没有HTML文件。
      

  5.   

    setting 在 project 里面。
      

  6.   

    也许是由于自己是盲人摸象,没有掌握正确的打开方法吧(原来自己打开VF文件只要双击相应的工程文件就能打开,我这里是自学,所以用了老办法)请大家从根本上指点一下:我的打开方式是:由于双击*.DSW文件时没有任何显示(先运行VC,然后通过文件菜单中的打开,打开*.DSW也一样),故自己通过双击*.CPP打开,但此时由于工作空间,故无法直接运行或进入SETING选项,只有通过编译以后才能进入SETING的设置。
    现在我已经找到了在菜单的setting里面, c/c++ 里面code generation中的use run time library选(debug)multthreaded,可对于工程类型不对
    setting中c/c++中option中subsystem:console改为windows
    link中选择MTD多线程
    我还没有找到
    现在我运行程序后的错误如下:
    Compiling...
    11_6.cpp
    Linking...
    11_6.obj : error LNK2001: unresolved external symbol "public: __thiscall CMy11_6Dlg::CMy11_6Dlg(class CWnd *)" (??0CMy11_6Dlg@@QAE@PAVCWnd@@@Z)
    libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
    Debug/11_6.exe : fatal error LNK1120: 2 unresolved externals
    Error executing link.exe.11_6.exe - 3 error(s), 0 warning(s)
    已经由原来的6个减少到了3个,可程序还运行不了。请大家不要笑我菜,实在是没有人指点,谁能指点一下如何设置:工程类型不对
    setting中c/c++中option中subsystem:console改为windows
    link中选择MTD多线程并指点一种正确的打开方式来打开别人的程序(用于学习原代码,是光盘上提供的)谢谢了。
      

  7.   

    还是应该 打开工程文件而不是单独打开cpp文件  
    你的代码应该是光盘上面的吧  拷贝到硬盘以后 第一步 先把只读属性给取消掉,然后打开dsw文件 这时候如果成功 在左边的classview里面能看到一些class  不成功 也会有一个对话框弹出进行错误提示 不理他 继续即可,打开以后 你可以尝试按下热键F5 进行编译调试,一般如果打开dsw出错的时候进行这种操作也能看到被隐藏的class
      

  8.   

    我和楼主一样啊~~~~真是郁闷,我连个例题照着书有代码也运行不鸟??真是蛮打击信心的。[email protected]   楼主联系我哟
      

  9.   

    您让我:你的代码应该是光盘上面的吧  拷贝到硬盘以后 第一步 先把只读属性给取消掉,然后打开dsw文件 这时候如果成功 在左边的classview里面能看到一些class  不成功 也会有一个对话框弹出进行错误提示 不理他 继续即可,打开以后 你可以尝试按下热键F5 进行编译调试,一般如果打开dsw出错的时候进行这种操作也能看到被隐藏的class
    我都做了,可打开DSW文件后没有任何关于代码的显示,如果用快捷方式打开VC的主界面一样,这里到底是什么出了问题,谢谢了。
    已经有3个人对这个问题有同感了,说明不明白这个问题的不是我一个人,请高手们详细指点一下,我的帖子也顶了好几次了,各种参数的设置也进行了二三十个小时了,可最终我没有掌握如何打开,苦恼呀。
      

  10.   

    你到底编译的是什么?应该编译整个工程的,也就是dsw文件,在装了VC的前提下,打开dsw文件就行了
    单单编译CPP文件是没有用的,除非是consol(而且是单文件的那种)
      

  11.   

    使用多线程的库.
    具体:
    project->setting->general->共享mfc dll
    或者<深入浅出>p37页控制台中使用mfc非显示的类,要使用多线程库