如何在Visual Studio 2010中使用来自不同C++项目的函数?

van*_*nna 9 c++ include visual-studio-2010 unresolved-external multiple-projects

我想在Visual Studio 2010中的相同解决方案中构建两个可以相互交互的C++项目.我在目录下创建了一个解决方案C:\Users\me\Desktop\SolutionDir.这两个项目分别在C:\Users\me\Desktop\SolutionDir\FirstProject和下创建C:\Users\me\Desktop\SolutionDir\SecondProject.

我的第一个项目包含两个文件,一个标题function.h和一个cpp文件function.cpp

function.h

#pragma once
void print_stuff();
Run Code Online (Sandbox Code Playgroud)

function.cpp

#include "function.h"
#include <iostream>

void print_stuff() {
    std::cout << "hello world" << std::endl;
}  
Run Code Online (Sandbox Code Playgroud)

我的第二个项目包含主文件 main.cpp

main.cpp中

#include "FirstProject\function.h"
#include <iostream>

int main(void) {
    print_stuff();

    int stop;
    std::cin >> stop;
    return 0;
}  
Run Code Online (Sandbox Code Playgroud)

C:\Users\me\Desktop\SolutionDir\在SecondProject中添加了目录Configuration Properties > C/C++ > General > Additional Include Directories.我仍然得到经典错误:error LNK2019: unresolved external symbol调用函数时print_stuff().

有任何想法吗 ?

Chr*_* A. 7

尝试在项目属性/配置属性/常规/配置类型中将第一个项目构建为静态库.

然后在第二个项目的项目属性中,您需要更改两件事:

  1. 在链接器/常规中,您可能需要将"附加库目录"添加到.lib构建第一个项目的文件夹中.
  2. 在链接器/输入中,您需要向其他依赖项添加.lib文件FirstProject.lib名或类似名称.