在VC++ 6.0中,新建一个MFC工程,想通过命令行(cl)的方式编译联接:
C:\mfc_exe>rc mfc_exe.rcC:\mfc_exe>cl  /MDd /W3 /Gm /Gx /ZI /Od /D "WIN32" /D"_WINDOWS" /D"_AFXDLL" /D"MBCS"
 *.cpp mfc_exe.res
结果报错:LINK:fatal error LNK1561:entry point must be defined请问如何做才可以编译连接成功呢?

解决方案 »

  1.   

    编译成为一个DLL吗?需要制定/DLL
      

  2.   

    如果有.def文件,删掉再编译。
    如果还不行,应该是需要/entry制定入口函数。
      

  3.   

    cl中没有为参与联编的dll定义相关入口参数选项,导致LNK1561错,表明某一个工程文件未被纳入。解决方法也很简单,先利用主界面联编,若通过,则察看工程属性(Alt+F7),复制出所有参数,over!
      

  4.   

    非常感谢大家的热心帮助,问题已经解决,我的工程不是dll,是一个最简单的多文档。之所以编译失败,是因为没有加入link选项,昨天不知道怎么加入,相关的帮助文档写的很简略。
    现将正确答案奉上:在VC++ 6.0中,新建一个MFC多文档工程,想通过命令行(cl)的方式编译联接:
    C:\mfc_exe>rc mfc_exe.rc编译成DEGUG版
    C:\mfc_exe>cl  /MDd /W3 /Gm /Gx /ZI /Od /D "WIN32" /D "_DEGUG" /D"_WINDOWS" /D"_AFXDLL" /D"MBCS" /Fe"mfc_exe.exe"
     *.cpp mfc_exe.res /link /nologo /subsystem:windows /incremental:yes /machine:I386编译成RELEASE版
    C:\mfc_exe>cl  /MD /W3  /Gx  /O2 /D "WIN32" /D "NDEBUG" /D"_WINDOWS" /D"_AFXDLL" /D"MBCS" /Fe"mfc_exe.exe"
     *.cpp mfc_exe.res /link /nologo /subsystem:windows /incremental:no /machine:I386