在VC一个工作区Workspace下有两个工程Project1和Project2,Project1包含了一些文件定义了一些函数(但没有main函数),现在Project2中有一个main函数,调用Project1中的函数,文件包含,函数声明都没有问题,编译包含main函数的cpp文件也通过,但构建exe文件时出现错误,这该怎么办?

解决方案 »

  1.   

    Project1包含两个文件:Project1.h和Project1.cpp// Project1.cpp
    int addTwoNumbers (int a, int b)
    {
    return a + b;
    }// Project1.h
    int addTwoNumbers (int a, int b);Project2包含一个文件Project2.cpp// Project2.cpp
    #include "../Project1/Project1.h"int main()
    {
    addTwoNumbers (1, 2); return 0;
    }编译Project2.cpp通过,但构件Project2.exe时出现下面的信息:Compiling...
    Project2.cpp
    Linking...
    Project2.obj : error LNK2001: unresolved external symbol "int __cdecl addTwoNumbers(int,int)" (?addTwoNumbers@@YAHHH@Z)
    Debug/Project2.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.Project2.exe - 2 error(s), 0 warning(s)清高手帮忙解决
      

  2.   

    把Project1.cpp也加到Project2工程中
      

  3.   

    这种做法好像有问题,你应该把两个工程分开,project1生成一个lib,再编译project2就行了。