为什么我不能使用 CLion 配置 CMake 目标(Nothing to 运行 on)?
Why can't I configure a CMake target with CLion (Nothing to run on)?
我正在努力 运行 Windows 10 上的 CLion 程序。几周前它运行良好,我唯一能想到的可能是安装git.
从下图中可以看出,运行 按钮是灰色的,运行 配置显示 "Nothing to run on",我猜它指的是目标。
到目前为止我做了什么
我尝试完成此问题的已接受答案中列出的步骤:
- 我在
C:\MinGW
安装了 MinGW
- 添加了
C:\MinGW
和C:\MinGW\bin
到路径
- 我已经配置了我的环境、CMake、Make、C 编译器和 C++ 编译器的路径
- 我已经设置了我的目标和可执行文件,但我唯一可以选择的目标是 'All targets'。
如果我 运行 这个程序通过 'Run->Run...' 和 select 'Wahum' 运行 配置,我在事件日志中得到以下输出:
Error running 'Wahum': Cannot run 'Wahum' on '<default>'
在我看来,您的目录中有一个有效的 CMakeLists.txt,但是 CLion 没有找到它。这可能是因为您的 .idea 目录中有 deleted/misplaced 一些文件。我不确定这是最佳解决方案,但在这种情况下对我有帮助的是重新导入项目。
File-> Import Project... 和 select 项目目录。
您将收到一条警告消息目录“{dir}”已包含 CMake 项目,继续并选择打开现有项目,select在此 window 中打开,然后 CLion 应该再次识别您的 CMakeList.txt 和 运行 cmake(至少对我有用)。
在 CLion 2020.1.3 中,我发现切换目标和切换回目标似乎可以避免导致“Nothing to 运行 on”出现在我认为是有效目标旁边的错误。
我有 CLion 2020.2.1,但文件菜单中没有导入项目选项。
我的工作解决方案:
File > Invalidate caches and restart
当 运行 进行特定测试时,我将 CLion 与 Googletest 结合使用时收到相同的错误消息:“无法 运行 xyz on”。以上提示对我不起作用。
有效的是重命名测试,运行它,然后重命名回来。已解决。
尝试使用“自定义构建应用程序”模板而不是“CMake 应用程序”添加新配置,并select您之前创建的自定义目标作为目标。
我的设置有点不同,但我设法让它工作:
- 删除了项目的“.idea”文件。
- 删除了项目的所有 cmake 文件和文件夹(cmake-build_xyz、CMakeLists、.clion.source.upload.marker 等)
- 删除了在父目录中找到的其他 cmake 文件(我知道不应该使用)
- “从文件”创建了一个新项目(项目初始项目)
- 已删除任何 CMake 配置文件(设置-> 构建、执行、部署->CMake)
- 创建了一个新的 CMake 配置文件。
- 将代码添加回 CMakeLists.txt
- 重新加载 CMake。
我的设置的不同之处在于我是通过 SSH 在远程计算机 (Linux) 上构建的。所以我在“部署”部分(设置-> 构建、执行、部署-> 部署)中有一些条目。因此,我在目标和主机上做了同样的事情,以确保任何冲突的 while 都不会同步到“其他文件”之上。
在寻找解决方案时,我曾尝试使用 Microsoft 工具链设置一个虚拟项目,但没有成功。
我删除了 .cache cmake-build-debug/
并备份 CMakeLists.txt 然后将其删除。
然后为项目添加一个新的CMakeLists.txt并将备份注释复制到其中。
现在 运行 代码。这行得通!是的
对我有用的是选择顶部 CMakeList.txt
文件,右键单击它并从上下文菜单中选择 Load CMake Project
。
对我来说,“文件”->“重新加载 CMake 项目”就可以了。
我正在努力 运行 Windows 10 上的 CLion 程序。几周前它运行良好,我唯一能想到的可能是安装git.
从下图中可以看出,运行 按钮是灰色的,运行 配置显示 "Nothing to run on",我猜它指的是目标。
到目前为止我做了什么
我尝试完成此问题的已接受答案中列出的步骤:
- 我在
C:\MinGW
安装了 MinGW
- 添加了
C:\MinGW
和C:\MinGW\bin
到路径 - 我已经配置了我的环境、CMake、Make、C 编译器和 C++ 编译器的路径
- 我已经设置了我的目标和可执行文件,但我唯一可以选择的目标是 'All targets'。
如果我 运行 这个程序通过 'Run->Run...' 和 select 'Wahum' 运行 配置,我在事件日志中得到以下输出:
Error running 'Wahum': Cannot run 'Wahum' on '<default>'
在我看来,您的目录中有一个有效的 CMakeLists.txt,但是 CLion 没有找到它。这可能是因为您的 .idea 目录中有 deleted/misplaced 一些文件。我不确定这是最佳解决方案,但在这种情况下对我有帮助的是重新导入项目。
File-> Import Project... 和 select 项目目录。
您将收到一条警告消息目录“{dir}”已包含 CMake 项目,继续并选择打开现有项目,select在此 window 中打开,然后 CLion 应该再次识别您的 CMakeList.txt 和 运行 cmake(至少对我有用)。
在 CLion 2020.1.3 中,我发现切换目标和切换回目标似乎可以避免导致“Nothing to 运行 on”出现在我认为是有效目标旁边的错误。
我有 CLion 2020.2.1,但文件菜单中没有导入项目选项。
我的工作解决方案:
File > Invalidate caches and restart
当 运行 进行特定测试时,我将 CLion 与 Googletest 结合使用时收到相同的错误消息:“无法 运行 xyz on”。以上提示对我不起作用。
有效的是重命名测试,运行它,然后重命名回来。已解决。
尝试使用“自定义构建应用程序”模板而不是“CMake 应用程序”添加新配置,并select您之前创建的自定义目标作为目标。
我的设置有点不同,但我设法让它工作:
- 删除了项目的“.idea”文件。
- 删除了项目的所有 cmake 文件和文件夹(cmake-build_xyz、CMakeLists、.clion.source.upload.marker 等)
- 删除了在父目录中找到的其他 cmake 文件(我知道不应该使用)
- “从文件”创建了一个新项目(项目初始项目)
- 已删除任何 CMake 配置文件(设置-> 构建、执行、部署->CMake)
- 创建了一个新的 CMake 配置文件。
- 将代码添加回 CMakeLists.txt
- 重新加载 CMake。
我的设置的不同之处在于我是通过 SSH 在远程计算机 (Linux) 上构建的。所以我在“部署”部分(设置-> 构建、执行、部署-> 部署)中有一些条目。因此,我在目标和主机上做了同样的事情,以确保任何冲突的 while 都不会同步到“其他文件”之上。
在寻找解决方案时,我曾尝试使用 Microsoft 工具链设置一个虚拟项目,但没有成功。
我删除了 .cache cmake-build-debug/
并备份 CMakeLists.txt 然后将其删除。
然后为项目添加一个新的CMakeLists.txt并将备份注释复制到其中。
现在 运行 代码。这行得通!是的
对我有用的是选择顶部 CMakeList.txt
文件,右键单击它并从上下文菜单中选择 Load CMake Project
。
对我来说,“文件”->“重新加载 CMake 项目”就可以了。