【问题标题】:How can I create a c++ header file in Visual Studio Code?如何在 Visual Studio Code 中创建 C++ 头文件?
【发布时间】:2020-10-17 17:20:26
【问题描述】:

我有一个包含 3 个文件的程序,当 IrRun 通过 Code Runner 运行程序时,它不断打印错误。“Log.hpp”文件的图标是 C,而不是 C++。重命名为Log.h之类的也没关系,看来我在vscode中无法创建c++头文件。

这3个文件是:

  1. main.cpp
#include <iostream>
#include "log.hpp"
using namespace std;

int main() {
    InitLog();
    Log("Hello World");
    return 0;
}
  1. log.cpp
#include "log.hpp"
#include <iostream>

void InitLog() {
    Log("Initializing Log");
}

void Log(const char *message) {
    std::cout << message << std::endl;
}
  1. log.hpp
#pragma once

void InitLog();
void Log(const char *message);

错误信息是:

main.cpp: In function 'int main()':
main.cpp:5:5: error: 'InitLog' was not declared in this scope
     InitLog();
     ^~~~~~~
main.cpp:6:5: error: 'Log' was not declared in this scope
     Log("Hello World");

需要帮助。

【问题讨论】:

  • 这有关系吗? What are the dangers of using #pragma once? 我想你没有收到错误消息说log.hpp not found。注意,如果header只包含函数声明,而没有#include其他header,可以多次包含。
  • 我尝试使用那里显示的另一种方法(也就是使用 ifndef ect。)但错误仍然相同。
  • log.hpp 在哪里?您的系统上是否有多个 log.hpp 文件?
  • 您调用包含的文件什么并不重要。
  • 我的系统中没有任何其他头文件。

标签: c++ c visual-studio-code header-files


【解决方案1】:

您使用的是 Windows 吗?哪个编译器?您是否安装了 Microsoft Build Tools 甚至 Visual Studio?你用的是 gcc 还是 clang?

您必须从开发人员提示符启动 VS Code:打开开发人员提示符控制台,导航到您的代码所在的文件夹。然后输入

code .

Visual Studo Code 将在环境设置后打开。然后使用 Control-` 在 VSCode 中打开一个终端并尝试

cl /EHsc main.cpp log.cpp  

它会创建main.exe。您可以在终端中运行它,它不会关闭...下次打开项目时,您可以在 VS Code 中打开文件夹,因为它已经创建了 json 配置文件

VS Code 只是一个 IDE。所以必须安装编译器和扩展。并且必须设置一些 JSON 文件和任务。有时很简单,有时不那么简单,我相信。但是这样做你将拥有一个强大的编辑器和一个令人难以置信的灵活环境,因为你可以在 nodejs 或 C 或 C++ 或任何东西甚至 Linux 中运行和调试代码,而无需在你的临时 Windows 机器上离开会话。

【讨论】:

    【解决方案2】:

    您的问题是关于一个名为 Code Runner 的特定 vscode 插件。它与vscode并没有真正的关系。 Code Runner 的设计方式永远不会适用于多个 C++ 源文件。这不是工作的正确工具。 也许您最好使用 Microsoft 的 vscode 的 CMake 工具包。它确实需要您创建自己的 CMakeLists.txt 文件。在你的情况下,你只需要:

    add_executable(log
        main.cpp
        log.cpp
    )
    

    【讨论】:

    • 我在 CMakeLists.txt 文件中添加了你给定的代码,但是当我尝试运行它时,同样的事情发生了。我错过了什么?
    • 不要使用 Code Runner 而是使用 CMake 工具。安装后,重新加载 vscode,你应该在底部的蓝色栏中有一个运行和调试按钮。按下它,选择一个套件并运行它。阅读文档中的入门部分:vector-of-bool.github.io/docs/vscode-cmake-tools/index.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 2012-10-10
    • 2018-11-07
    • 2018-03-05
    • 2020-12-20
    相关资源
    最近更新 更多