gpt4 book ai didi

c++ - Visual Studio 包含来自其他项目的 cpp 文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:21:51 28 4
gpt4 key购买 nike

我有一个来自另一个项目的 C++ .h 和 .cpp 文件,我想将其包含到我的项目中。我不想将文件复制到我的项目中,因为我希望对这些文件的任何更改都应用到两个项目。

我已经在

中包含了文件文件夹的目录

Properties->VC++ Directories->Include Directories

我也把这个文件夹包含在

Properties->C/C++ -> General -> Additional Include Directories

.h 文件似乎有效。如果我将 include 重命名为

#include "myfile.h"

cpp 文件获得未知定义。

当我编译时。错误是

fatal error C1083: Cannot open source file: '..\..\..\..\..\..\my project\myfile.cpp': No such file or directory

如果我从项目中删除 cpp 文件。然后我得到一长串未解析的函数。

error LNK2019: unresolved external symbol "public: unsigned long __thiscall myclass::myfunction"

如何将 .h 和 .cpp 文件包含到我的第二个项目中?

最佳答案

对于 cpp 文件,您只需使用鼠标右键单击项目,选择“添加”->现有项目。然后,当构建启动时,他们应该与其他人一起编译。

标题稍微复杂一些。 #include 指令有两种使用方式:用 < > 和 ""大括号

当使用“”大括号时,编译器将路径视为相对于(如果不是绝对使用)cpp 文件位置

当使用 < > 大括号时,编译器会在诸如系统包含文件夹之类的地方查找文件。例如 - stdlib header 文件夹和 windows.h 位置文件夹。属性条目 Additional Include Directories 也在那里。

我建议您更改项目结构并从两个项目中提取共享功能以将其编译为静态库。将共享 header 放在库项目的某个子文件夹中,然后引用为

#include "mylibHeaderDir/someheader.h"

在依赖项目中,设置附加包含目录后,您可以将这些包含引用为

#include <myLibHeaderDir/someheader.h>

这种方法将来会对您有所帮助,因为您可以在您想要的每个项目中重用该共享模块。

关于如何创建和链接静态库可以看这篇文章http://msdn.microsoft.com/en-us/library/vstudio/ms235627(v=vs.110).aspx visual studio 的版本可能不同,但基本相同。

关于c++ - Visual Studio 包含来自其他项目的 cpp 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24991923/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com