Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.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++ CMake为LLVM生成的Visual Studio 2017解决方案中的筛选器文件存在问题_C++_Visual Studio_Cmake_Visual Studio 2017_Llvm - Fatal编程技术网

C++ CMake为LLVM生成的Visual Studio 2017解决方案中的筛选器文件存在问题

C++ CMake为LLVM生成的Visual Studio 2017解决方案中的筛选器文件存在问题,c++,visual-studio,cmake,visual-studio-2017,llvm,C++,Visual Studio,Cmake,Visual Studio 2017,Llvm,如何复制: (1) 从从llvm GitHub下载的zip文件中提取LLVM9.x源文件中的子文件夹“llvm”和“clang”(zip文件中的根文件夹为llvm-project-release-9.x) (2) 在同一级别创建一个生成文件夹“build-x64”,并将其cd到VS2017 x64 native tools命令行窗口中的文件夹中 (3) 执行: (4) 打开生成的VS2017解决方案 现在的问题是,在VS2017的“解决方案资源管理器”中,子文件夹“Clang Libraries

如何复制:

(1) 从从llvm GitHub下载的zip文件中提取LLVM9.x源文件中的子文件夹“llvm”和“clang”(zip文件中的根文件夹为llvm-project-release-9.x)

(2) 在同一级别创建一个生成文件夹“build-x64”,并将其cd到VS2017 x64 native tools命令行窗口中的文件夹中

(3) 执行:

(4) 打开生成的VS2017解决方案

现在的问题是,在VS2017的“解决方案资源管理器”中,子文件夹“Clang Libraries”下的所有项目都有错误的结构:

References
External Dependencies
Object Libraries
CMakeList.txt
正确的结构应如下所示:

References
External Dependencies
Header Files
Source Files
TableGen descriptions
CMakeList.txt
因此,子文件夹“对象库”下的项目应采用上述错误结构,即“Clang Libraries”下的项目结构似乎已与“Object Libraries”下的相应项目进行了切换,例如,“Clang Libraries”下的clangAST与“Object Libraries”下的obj.clangAST

原因似乎是筛选器文件,例如

build-x64\tools\clang\lib\AST\clangAST.vcxproj.filters
build-x64\tools\clang\lib\AST\obj.clangAST.vcxproj.filters
clangAST.vcxproj.filters的内容包含obj文件,而obj.clangAST.vcxproj.filters包含错误的cpp/头文件

手动修改错误的筛选文件,即切换组,然后删除.vs文件夹,只显示子文件夹,但不显示文件

该问题不会影响构建,它只会使VS2017在错误的位置显示文件。LLVM/Clang 6.0没有这个问题

CMake脚本中是否存在一些bug以及如何修复它们

build-x64\tools\clang\lib\AST\clangAST.vcxproj.filters
build-x64\tools\clang\lib\AST\obj.clangAST.vcxproj.filters