对<深入浅出mfc>的p173的hello mfc的那个console程序,在cmd环境下编译连接都正常,但是我想在可视环境下(也就是ide环境下)编译连接却遇到了问题,我先创建了一个空白的console project项目,再将hello的文件一个个添加到该项目中,但是编译能通过,连接却报错如下:
--------------------Configuration: hello1 - Win32 Debug--------------------
Linking...
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/hello1.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.hello1.exe - 4 error(s), 0 warning(s)
这是什么原因呢?

解决方案 »

  1.   

    __endthreadex
    只要在seting里面设置多线程就可 以了
      

  2.   

    我将编译参数修改了/mld为/md 不知道对否? 
    还有我尝试根据mak文件里的编译连接的参数对project/setting中的参数加以修改得到编译的出错信息为:
    Linking...
    LINK : warning LNK4075: ignoring /EDITANDCONTINUE due to /INCREMENTAL:NO specification
    nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
    nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
    Debug/hello.exe : fatal error LNK1120: 2 unresolved externals
    Error executing link.exe.hello.exe - 3 error(s), 3 warning(s)对于二楼所说的"工程文件类型不对"是不是指console和windows项目的类型区别?
    因为hello本是一个windows程序,我却是产生一个console程序并将hello的文件加入其中的!
    如果是的话我怎样解决这个问题?最后关于
    "__endthreadex
    只要在seting里面设置多线程就可 以了"
    在哪可以设置呢?我在setting中并没有看到相应的选项啊