1, E:\有myfun.h文件,内容为:
                          void myfun();
2,E:\有myfun.cpp文件,内容为:#include"iostream.h"
                            void myfun()
                                 {cout<<"hello"<<endl;}
3,VC++6.0建立了一个Console程序,内容为:
#include"myfun.h"
void main()
{
myfun();
}
4, 编译,发生链接错误error LNK2001: unresolved external symbol "void __cdecl myfun(void)" (?myfun@@YAXXZ)
   当我将myfun.cpp文件导入工程中后,问题解决。
  
    我的问题是为什么会这样?

解决方案 »

  1.   

    把E:\myfun.cpp添加到项目里面。
      

  2.   

    因为 链接程序时,编译器会寻找函数的代码实体, 而你的myfun.h文件只是声明了函数,并无实体;当myfun.cpp文件导入工程,编译器编译了该文件,找到了myfun() 的实体,就链接通过了
      

  3.   

    cpp文件需要include进project去link
      

  4.   

    把E:\myfun.cpp添加到项目里面。
      

  5.   

    2,E:\有myfun.cpp文件,内容为:#include"iostream.h" 
                                void myfun() 
                                    {cout < <"hello" < <endl;} 
    这个得#include “myfun.h"吧
      

  6.   

    MFC所建立的windows程序,最终要调用AfxWinMain函数,它的函数实现在winmain.cpp中,我们编程的时候只要#include<afxwin.h>为什么会最终调用AfxWinMain函数呢?
      

  7.   


    说两点:一:.h   文件是声明文件,类似于人名
    .cpp 文件是代码文件,类似于人本身只有人名是不能做事的,有了人才能做事二:最终要调用AfxWinMain函数,它的函数实现在winmain.cpp中虽然MFC 提供了源代码 winmain.cpp但在编译程序时,与这个文件一点关系都没有,因为代码是通过引入Lib文件得到的,见头文件中的#pragma comment(lib,"...") 语句
      

  8.   

    to:Jeophia
    "虽然MFC 提供了源代码...但在编译程序时,与这个文件一点关系都没有"
    那这些源代码就是为了学习MFC的?
    那为什么按F10调试的时候,就会转入到appmodul.cpp中。
    请您详细指教。