【问题标题】:Clang C++ Program is not running on windowsClang C++ 程序未在 Windows 上运行
【发布时间】:2021-01-18 02:23:25
【问题描述】:

我正在尝试运行具有以下标头的 C++ 程序。

#include <clang-c/Index.h>

它的主要功能是这样的。

int main(int argc, char **argv) {
    if (argc < 2) {
        std::cerr<< "Missing argument: path to source\n";
        return -1;
    }

    CXIndex index = clang_createIndex(0, 1);
    CXTranslationUnit tu;

    .....remaining program.

我已经从以下链接下载并安装了 LLVM 10.0 Windows(64bit)。
LLVM download link windows
我还从以下链接下载并安装了适用于 Windows(64 位)的 CMake 3.18。
CMake download link windows
我还安装了 Visual Studio Community 15 2017。
Clang++ 命令适用于简单的 C++ 程序。但是当我尝试用这个头文件运行我的程序时。

clang++ node.cpp

我收到一个错误。

fatal error: 'clang-c/Index.h' file not found

我检查了这个头文件位于 C:\Program Files\LLVM\include\clang-c。但是当我运行时,我得到了错误。
我检查了我的环境变量,发现有这两条路径。

C:\Program Files\CMake\bin
C:\Program Files\LLVM\bin

我搜索了很多,但在谷歌上没有找到任何解决方案。请告诉我我做错了什么。或者如果它需要不同的命令来运行这个程序。

【问题讨论】:

    标签: c++ cmake clang llvm


    【解决方案1】:

    我检查了这个头文件位于 C:\Program Files\LLVM\include\clang-c。

    我检查了我的环境变量,发现有这两条路径。

    C:\Program Files\CMake\bin
    C:\Program Files\LLVM\bin

    您列出的路径都不是该标题的路径。

    无论如何,你需要configure your compiler's include directories,而不是你系统的二进制PATH。

    由于您尝试构建的代码依赖于 Clang 标头,因此我建议您与其作者交谈以找出配置工具链以构建该项目的正确方法,因为您可能还有其他事情失踪。不要试图猜测它。

    【讨论】:

    • 是的,这两个是我安装 llvm 和 cmake 时自动添加的。我将该文件所在的路径添加到环境变量中,但它没有解决问题。它也只包含这个 clang 标题。
    • 包含路径不进入环境变量。查看如何为您的编译器配置包含路径。 (我链接到有关该主题的一些资源。)
    猜你喜欢
    • 2017-08-31
    • 2013-04-06
    • 2022-08-22
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 2020-08-05
    相关资源
    最近更新 更多