没有用windows的东西就用WIN32 CONSOLE APPLICATION否则WIN32 APPLICATION.
makefile我没用过也不会用
你编译工程就行了,肯定两个文件都会编译的
直接加#"string.cpp"只会生成main.obj否则会有string.obj然后链接成main。exe
string.cpp已生成string。obj了函数定义什么的都在里面链接时会加入main。exe中的

解决方案 »

  1.   

    一般说来,如果程序比较小的话,可以放在一个.cpp文件中。但如果程序较大,放在一个.cpp文件中不好管理,而且修改一处重新编译一遍,造成麻烦。
    所以一般用工程来管理大程序。举个简单的例子。
    有3个文件: test.cpp(主程序),string.h(某些函数的声明), string.cpp(string.h中声明的函数的实现)//string.h
    int f1();
    int f2();//string.cpp
    int f1()
    {
      ......
    }int f2()
    {
    ......
    }//test.cpp
    #inlcude "string.h"
    main()
    {
      f1();
      f2();
    }把上述文件放到一个工程中,编译时会自动把test.cpp和string.cpp编译成.obj文件,然后再link成一个exe文件。这样做的好处在于,1. 管理方便。比如把常用的一些函数放在一个.cpp中,某些模块放在.cpp中等,利于模块化开发,利于多人开发。2. 修改一个.cpp文件,不用重新编译其他.cpp文件,减少了重复编译等。在vc中可以通过project->add to project->files来将源程序加到工程中。