c++ - 如何在库项目中添加头文件和 cpp 文件

标签 c++ visual-studio include header-files

长话短说:我有一些我认为可以在库中使用的函数,而不仅仅是将函数从一个项目复制到下一个项目。因此,我创建了一个库项目并将我的头文件和 cpp 文件放入项目中,并在我的第二个项目(在同一解决方案中)中引用它,一切正常。

这是我的问题。我想在不同的文件中添加另一组功能。所以我创建了一个新的头文件和一个新的cpp文件,但现在我似乎无法include新的头文件。另一个工作正常,但不能包含新的,VS 给了我这些错误代码:

E1696   cannot open source file "2ndFunctionSet.h"                  [2ndProjectName]        [FileNameA]
C1083   include : '2ndFunctionSet.h' : No such file or directory    [2ndProjectName]        [FileNameA]

这是解决方案当前结构的摘要:

SolutionName
|---project > CommonLibraries
|   |---{header files}
|   |   |---baseFunctions.h
|   |   |---2ndFunctionSet.h
|   |---{source files}
|       |---baseFunctions.cpp
|       |---2ndFunctionSet.cpp
|
|---project > 2ndProjectName
    |---{header files}
    |   |---someClass.h
    |   |---mainCode.h
    |---{source files}
        |---someClass.cpp
        |---mainCode.cpp

公共(public)库中的两个 cpp 文件都包含它们的头文件和 stdafx.h 默认预编译文件,两者的构造似乎相似。

你能帮我理解我做错了什么吗?我已经有一段时间没有使用 c++ 了,所以很可能是我在创建我的库项目或创建新的函数集文件时出现了过程错误。

最佳答案

文件不在同一个文件夹中。

你还应该检查“工作”的文件是否在正确的文件夹中:

  • 继续你的文件浏览器
  • 检查库项目的文件夹
  • 如果文件在错误的文件夹中
    • 将它们移动到正确的项目文件夹中
    • 添加对新文件位置的引用

现在关于“如何将这些文件包含在同一解决方案的项目中”:

  • 进入“2ndProjectName”项目的属性
  • “配置属性” > “c/c++” > “常规”
  • 在“其他包含目录”中:单击 > 编辑并找到库项目文件夹。
  • 在解决方案资源管理器中,进入“2ndProjectName”项目
  • 右键单击“引用”>“添加引用”
  • 确保您的图书馆项目已被选中

关于c++ - 如何在库项目中添加头文件和 cpp 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50262830/

相关文章:

c++ - 如何为想要公开相互递归函数的仅 header 库组织包含?

PHP释放包含文件的内存

php - 如何将 include(php 文件) 放入变量?

c++ - 在指向 POD 类型的指针之间静态转换与重新解释转换

c++ - 在项目中包含 libcurl

c++ - 无法归档所有数据

c++ - 为什么编译器会抛出 "expected a type specifier"?

c++ - 在哪里可以找到 MPFR 的 Visual Studio 2008 项目构建文件?或者如何自己创建这样的构建文件?

C++ lambda 生命周期

c++ - 是否可以将 gcc 编译库与 MSVC 一起使用?