【问题标题】:how to link and include c++ headers from different directory in vscode如何在vscode中链接和包含来自不同目录的c ++标头
【发布时间】:2020-12-15 22:16:39
【问题描述】:

我是编程新手,我在 Windows 中使用 vscode 并通过 Mingw 64 进行编译。在尝试了几天后,我请求回答这个问题。我用谷歌搜索了很多次。这是我的项目树的外观。请帮助我将 libA 包含并链接到 libBcommon.h 到所有 cpp 文件和 libA 和 libB 到ma​​in.cpp。请回答。

project
|---lib
|   |---libA
|   |   |---header1.h
|   |   |---header1.cpp
|   |
|   |---libB
|       |---header2.h
|       |---header2.cpp
|---common
|   |---common.h
|   |---common.cpp
|---main.cpp

【问题讨论】:

  • 实际上我无法解决错误:` 没有这样的文件或目录 : gcc`
  • 包含路径没问题,但 gcc 找不到头文件。
  • 在这种情况下,我会右键单击项目(在右侧的项目面板中)并选择 -- 属性。在 C/C++ 选项中,您可以添加其他编译器选项,只包括 -Icommon-Ilib(您可能必须将完整路径包括为 -I./lib 等。我不记得 VS 是如何采用路径的。如果您找到了包含,并且您将 .cpp 文件作为项目的一部分,它应该在您构建项目时编译并链接它们。

标签: c++ visual-studio-code linker-errors include-path


【解决方案1】:

在 VSCode 中,您可以右键单击标题并选择 Copy Path。当包含来自计算机上任何位置的标题时,这应该可以工作。
至于.cpp 文件,您可以在编译和链接文件时使用您正在编译的目录的相对路径,或者在使用g++ 编译时使用-I 选项。
This might help.

【讨论】:

  • 很好地添加了链接。但请注意未来——当一个问题已经在这个网站上有答案时,你应该点击“关闭”,然后选择“复制”并输入链接。这样可以防止网站上同一问题的不同答案碎片化。
【解决方案2】:

你应该使用#include中的相对路径。

例如导入 header1 使用 -#include "./lib/header1.h" 并导入常用#include "./common/common.h"

【讨论】:

    猜你喜欢
    • 2020-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    • 2016-11-04
    • 2012-08-28
    • 1970-01-01
    相关资源
    最近更新 更多