在MSDN的CWinApp解说中给了一个小例子(HelloApp)
我把它的HelloApp.cpp文件的内容拷贝到我的cpp文件
中编译运行结果出错
后来我发现只有将.ncb文件也考过去才能运行
比如:
//-----------------------------------------------------------
#include <afxwin.h>
class CHelloWindow : public CFrameWnd
{
public:
CHelloWindow()
{Create(NULL,_T("Hello World!"),WS_OVERLAPPEDWINDOW,rectDefault);}
};class CHelloApp: public CWinApp
{
public:
virtual BOOL InitInstance()
{
m_pMainWnd = new CHelloWindow();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
};
CHelloApp HelloApp;
//-----------------------------------------------------------------------
如果没有相应的.ncb文件就无法编译运行
不知为什么
请各位高手指教。
谢谢!!!

解决方案 »

  1.   

    .ncb可以自动生成的,你全部重新编译就行了。
      

  2.   

    编译可以通过
    但是构件全部时就提示
    //--------------------------------
    Deleting intermediate files and output files for project 'fff - Win32 Debug'.
    --------------------Configuration: fff - Win32 Debug--------------------
    Compiling...
    fff.cpp
    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/fff.exe : fatal error LNK1120: 3 unresolved externals
    Error executing link.exe.fff.exe - 4 error(s), 0 warning(s)
    不知是什么原因。
      

  3.   

    可以不要,只要Rebuild aLL就可以了
      

  4.   

    .ncb是没有什么用的。我就经常删除它。如果你再写程序的时候发现类函数不能自动谈出来,你甚至可以把这个.ncb文件删除,再重新载入程序,类函数就可以自动显示了。
      

  5.   

    那位大侠能不能帮小弟试一下
    下面的代码我一Rebuild all 就出错
    是我VC6的问题还是配置的问题代码如下:
    //--------begin-----------------------
    #include <afxwin.h>class CHelloWindow : public CFrameWnd
    {
    public:
    CHelloWindow()
    { Create(NULL, _T("Hello World!"), WS_OVERLAPPEDWINDOW, rectDefault); }
    };// Define an application class derived from CWinApp
    class CHelloApp : public CWinApp
    {
    public:
    virtual BOOL InitInstance()
    {
    m_pMainWnd = new CHelloWindow();
    m_pMainWnd->ShowWindow(m_nCmdShow);
    m_pMainWnd->UpdateWindow();
    return TRUE;
    }
    };CHelloApp HelloApp;  // HelloApp's constructor initializes and runs the app
    //----------------------end---------------------------出错输出如下:
    //----------------begin--------------------------
    Deleting intermediate files and output files for project 'helloapp - Win32 Debug'.
    --------------------Configuration: helloapp - Win32 Debug--------------------
    Compiling...
    helloapp.cpp
    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/helloapp.exe : fatal error LNK1120: 3 unresolved externals
    Error executing link.exe.helloapp.exe - 4 error(s), 0 warning(s)
    //-----------------------end-----------------------
      

  6.   

    链接需要多线程库的代码(任何 MFC 代码或用 /MT 编译的代码)会在_beginthread、_beginthreadex、_endthread 和 _endthreadex 上导致 LNK2001。请参阅MSDN下面文章:
    Q126646“PRB: Error Msg: LNK2001 on __beginthreadex and __endthreadex”
    使用 Unicode 和 MFC 时,如果没有创建 wWinMainCRTStartup 的入口点,将在 _WinMain@16 上得到无法解析的外部对象;请使用 /ENTRY。请参阅 Unicode 编程摘要。 请参阅MSDN下面文章:
    Q291952 “PRB: Link Error LNK2001: Unresolved External Symbol _main” 在 MSDN 库中,单击“搜索”选项卡,将文章编号或文章标题粘贴在文本框中,然后单击“列出主题”。如果按文章编号搜索,确保清除“仅搜索标题”选项。
      

  7.   

    请参阅下列位于 MSDN 库中的知识库文章。在 MSDN 库中,单击“搜索”选项卡,将文章编号或文章标题粘贴在文本框中,然后单击“列出主题”。如果按文章编号搜索,确保清除“仅搜索标题”选项。使用 Unicode 和 MFC 时,如果没有创建 wWinMainCRTStartup 的入口点,将在 _WinMain@16 上得到无法解析的外部对象;请使用 /ENTRY。
    请参阅:
    Q291952 “PRB: Link Error LNK2001: Unresolved External Symbol _main” 链接需要多线程库的代码(任何 MFC 代码或用 /MT 编译的代码)会在_beginthread、_beginthreadex、_endthread 和 _endthreadex 上导致 LNK2001。
    请参阅:
    Q126646“PRB: Error Msg: LNK2001 on __beginthreadex and __endthreadex”