Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ ';llvm/IR/Constants.h';找不到文件_C++_Llvm_Llvm Clang - Fatal编程技术网

C++ ';llvm/IR/Constants.h';找不到文件

C++ ';llvm/IR/Constants.h';找不到文件,c++,llvm,llvm-clang,C++,Llvm,Llvm Clang,我正在尝试制作一个编译器,并使用llvm(C++api)生成中间和最终代码。但在尝试执行命令时: llvm.o: llvm.cpp llvm.h $(CPP) llvm.cpp -c -$(FLAGS) 在我的make文件中,我得到了一个错误: In file included from llvm.cpp:6: ./opt.h:5:10: fatal error: 'llvm/IR/Constants.h' file not found #include <llvm/IR/Co

我正在尝试制作一个编译器,并使用llvm(C++api)生成中间和最终代码。但在尝试执行命令时:

llvm.o: llvm.cpp llvm.h
    $(CPP) llvm.cpp -c -$(FLAGS) 
在我的make文件中,我得到了一个错误:

In file included from llvm.cpp:6:
./opt.h:5:10: fatal error: 'llvm/IR/Constants.h' file not found
#include <llvm/IR/Constants.h>
         ^~~~~~~~~~~~~~~~~~~~~
1 error generated.

我在谷歌上搜索了很多,但都找不到任何能解决我问题的方法,非常感谢你的帮助

你的旗帜是什么?您需要提供链接器标志和标题搜索标志

以下内容可以帮助您:

llvm.o: llvm.cpp llvm.h
    $(CPP) llvm.cpp -c -$(FLAGS) `llvm-config --cxxflags --ldflags --libs`
请注意,不带任何参数的
--libs
将把二进制文件链接到所有LLVM库

UPD:

在MacOS上,llvm配置和其他工具不会添加到
$PATH
,因为它会覆盖系统编译器,并以某种方式破坏系统。您需要使用完整路径,例如
/usr/local/cillar/llvm/3.9.0/bin/llvm config
。请确保在此处使用正确的版本

此外,请确保您的标志已实际计算,而不是按原样粘贴到命令:

FLAGS=$(shell llvm-config --cxxflags --ldflags --libs)

感谢您的回复,我的标志:
llvm-config-3.8--cxflags--ldflags--libs--system libs
但我没有提到的另一个问题是,它无法识别`llvm-config-3.8--cxflags`,例如我收到的消息
/bin/bash:llvm-config-3.8:找不到命令
,但我没有提到标志,因为我认为这是主要问题图书馆不见了……非常感谢:)!!!你是对的问题是路径,由于我使用的llvm版本(5.0.0),我仍然得到一些错误,但是你的回答100%解决了我的原始/第一个问题!!!
FLAGS=$(shell llvm-config --cxxflags --ldflags --libs)