Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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在上失败?_C++_Visual Studio Code_Cmake - Fatal编程技术网

C++ 这是什么/“字符串”;文件CMake在上失败?

C++ 这是什么/“字符串”;文件CMake在上失败?,c++,visual-studio-code,cmake,C++,Visual Studio Code,Cmake,使用Visual Studio代码,我在运行CMake时遇到以下奇怪错误: [main] Building folder: CMake-test [main] Configuring folder: CMake-test [proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" --no-warn-unused-cli -Dcmake.sourceDirectory:STRING=CMake -Dcm

使用Visual Studio代码,我在运行CMake时遇到以下奇怪错误:

[main] Building folder: CMake-test 
[main] Configuring folder: CMake-test 
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" --no-warn-unused-cli -Dcmake.sourceDirectory:STRING=CMake -Dcmake.generator:STRING=Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE:STRING=Debug -C c:\Devo\CMake-test\string -Hc:/Devo/CMake-test -Bc:/Devo/CMake-test/build -G Ninja
[cmake] Not searching for unused variables given on the command line.
[cmake] loading initial cache file c:\Devo\CMake-test\string
[cmake] CMake Error: Error processing file: C:/Devo/CMake-test/string
[cmake] -- Configuring incomplete, errors occurred!
[cmake] See also "C:/Devo/CMake-test/build/CMakeFiles/CMakeOutput.log".
我的CMakeLists.txt看起来像这样

cmake_minimum_required(VERSION 3.0.0)
project(CMAKE_PROJECT VERSION 0.1.0)

include(CTest)
enable_testing()

add_executable(CMAKE_PROJECT main.cpp)

set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)
main.cpp只是一个简单的Hello World

#include <iostream>

int main(int, char**) {
    std::cout << "Hello, world!\n";
}
#包括
int main(int,char**){

std::cout您的
cmake
命令中的以下部分看起来可疑:

-C c:\Devo\CMake-test\string
这将加载脚本文件以预填充CMake缓存,但可能设置错误。要删除它,可以执行以下操作:

  • 打开设置,然后在搜索栏中搜索“cmake cache”

  • CMake:Cache Init下,单击“在settings.json中编辑”

  • 应打开默认设置选项卡,找到
    “cmake.cacheInit”
    条目,并将其更改为
    null

        "cmake.cacheInit": null,
    

  • 你的命令行上有
    -C:\Devo\CMake test\string
    。这设置了你的初始缓存。你真的需要吗?那个文件夹里有什么吗?我一直删除那个“\string”,它一直在返回。squareskittles的修复成功了,这成功了,所以谢谢!VSCode出于某种原因仍然坚持它应该是“string”。