Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/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++项目。 ├── CMakeLists.txt ├── include │ └── ccli └── # headers ├── src │ ├── CMakeLists.txt │ ├── exec_expr.cpp │ ├── GlobalContext.cpp │ ├── main.cpp └── # others_C++_Linux_Cmake_Clang - Fatal编程技术网

与克马克叮当作响。目标“包括目录”;没有这样的文件或目录; 这是我的C++项目。 ├── CMakeLists.txt ├── include │ └── ccli └── # headers ├── src │ ├── CMakeLists.txt │ ├── exec_expr.cpp │ ├── GlobalContext.cpp │ ├── main.cpp └── # others

与克马克叮当作响。目标“包括目录”;没有这样的文件或目录; 这是我的C++项目。 ├── CMakeLists.txt ├── include │ └── ccli └── # headers ├── src │ ├── CMakeLists.txt │ ├── exec_expr.cpp │ ├── GlobalContext.cpp │ ├── main.cpp └── # others,c++,linux,cmake,clang,C++,Linux,Cmake,Clang,/CMakeLists.txt: cmake_minimum_required(VERSION 3.5) project(main) set(CMAKE_CXX_FLAGS "-Wall

/CMakeLists.txt:

cmake_minimum_required(VERSION 3.5)                                                                  

project(main)                                                                                        

set(CMAKE_CXX_FLAGS "-Wall -std=c++17")                                                              

find_package(LLVM REQUIRED CONFIG)                                                                   
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION} in ${LLVM_INSTALL_PREFIX}")                       
message(STATUS "Using LLVMConfig.cmake in ${LLVM_DIR}")                                              

find_package(Clang REQUIRED CONFIG HINTS "{LLVM_INSTALL_PREFIX}/lib/cmake/clang")                    
message(STATUS "Found Clang in ${CLANG_INSTALL_PREFIX}")                                             
message(STATUS "Found Cland headers in ${CLANG_INCLUDE_DIRS}")                                       
message(STATUS "Found LLVM headers in ${LLVM_INCLUDE_DIRS}")                                         

add_subdirectory(src)                                                                                

add_executable(                                                                                      
    main                                                                                             
        src/main.cpp                                                                                 
)                                                                                                    

target_include_directories(main PRIVATE ${LLVM_INCLUDE_DIRS})                                        
target_include_directories(                                                                          
    main PUBLIC                                                                                      
        ${PROJECT_SOURCE_DIR}/include                                                                
)                                                                                                    

# Fixes clang linking error.                                                                         
target_compile_definitions(main PUBLIC -DLLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING)                 
target_link_libraries(main ccli readline)  
cmake_minimum_required (VERSION 3.5)                             

add_library(                                                     
    ccli STATIC                                                  
        exec_expr.cpp                                            
        runToolOnCode.cpp                                        
        GlobalContext.cpp                                        
        Utility.cpp                                              
)                                                                

target_include_directories(ccli PRIVATE "${LLVM_INCLUDE_DIR}")   
target_include_directories(                                      
    ccli PRIVATE                                                 
        ${PROJECT_SOURCE_DIR}/include                            
)                                                                

target_link_libraries(                                           
    ccli PRIVATE                                                 
        clangTooling                                             
        clangFrontend                                            
        clangStaticAnalyzerFrontend                              
)                                                                
/src/CMakeLists.txt:

cmake_minimum_required(VERSION 3.5)                                                                  

project(main)                                                                                        

set(CMAKE_CXX_FLAGS "-Wall -std=c++17")                                                              

find_package(LLVM REQUIRED CONFIG)                                                                   
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION} in ${LLVM_INSTALL_PREFIX}")                       
message(STATUS "Using LLVMConfig.cmake in ${LLVM_DIR}")                                              

find_package(Clang REQUIRED CONFIG HINTS "{LLVM_INSTALL_PREFIX}/lib/cmake/clang")                    
message(STATUS "Found Clang in ${CLANG_INSTALL_PREFIX}")                                             
message(STATUS "Found Cland headers in ${CLANG_INCLUDE_DIRS}")                                       
message(STATUS "Found LLVM headers in ${LLVM_INCLUDE_DIRS}")                                         

add_subdirectory(src)                                                                                

add_executable(                                                                                      
    main                                                                                             
        src/main.cpp                                                                                 
)                                                                                                    

target_include_directories(main PRIVATE ${LLVM_INCLUDE_DIRS})                                        
target_include_directories(                                                                          
    main PUBLIC                                                                                      
        ${PROJECT_SOURCE_DIR}/include                                                                
)                                                                                                    

# Fixes clang linking error.                                                                         
target_compile_definitions(main PUBLIC -DLLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING)                 
target_link_libraries(main ccli readline)  
cmake_minimum_required (VERSION 3.5)                             

add_library(                                                     
    ccli STATIC                                                  
        exec_expr.cpp                                            
        runToolOnCode.cpp                                        
        GlobalContext.cpp                                        
        Utility.cpp                                              
)                                                                

target_include_directories(ccli PRIVATE "${LLVM_INCLUDE_DIR}")   
target_include_directories(                                      
    ccli PRIVATE                                                 
        ${PROJECT_SOURCE_DIR}/include                            
)                                                                

target_link_libraries(                                           
    ccli PRIVATE                                                 
        clangTooling                                             
        clangFrontend                                            
        clangStaticAnalyzerFrontend                              
)                                                                
src/main.cpp的顶部:

#包括“ccli/runToolOnCode.hpp”
#包括“ccli/GlobalContext.hpp”
#包括“ccli/exec\U expr.hpp”
#包括“ccli/Utility.hpp”
#包括“clang/Frontend/FrontedActions.h”/似乎是一个打字错误,请尝试:#包括“clang/Frontend/frontedndActions.h”


希望对您有所帮助

请使用
make VERBOSE=1
运行您的
make
或执行
cmake-DCMAKE\u VERBOSE\u MAKEFILE=1
并显示用于编译的编译器命令。您使用clang
ccli PRIVATE clangTooling clangFrontend clangstaticalyzerfrontend
私密链接,因此不会传播包含目录。你的意思是公开链接吗?那么链接
ccli PUBLIC clangTooling…
还是
main PUBLIC…
?实际上我不明白他们之间的区别。你能帮我一下吗?在网上找到解释并不难。我相信我会解释得比网络更糟糕——我不是以英语为母语的人。试试看,前几个链接看起来不错。
-- Found LLVM 8.0.0 in /usr/lib/llvm-8
-- Using LLVMConfig.cmake in /usr/lib/llvm-8/cmake
-- Found Clang in /usr/lib/llvm-8
-- Found Cland headers in /usr/lib/llvm-8/include
-- Found LLVM headers in /usr/lib/llvm-8/include
-- Configuring done
-- Generating done
-- Build files have been written to: /c_repl/build
/c_repl/src/main.cpp:6:10: fatal error: clang/Frontend/FrontedActions.h: No such file or directory
 #include "clang/Frontend/FrontedActions.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
CMakeFiles/main.dir/build.make:62: recipe for target 'CMakeFiles/main.dir/src/main.cpp.o' failed
make[2]: *** [CMakeFiles/main.dir/src/main.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/main.dir/all' failed
make[1]: *** [CMakeFiles/main.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:        18.04
Codename:       bionic