g++:致命错误:无法执行‘d21’:execvp:没有这样的文件或目录编译终止

问题描述 投票:0回答:2

当我尝试编译 QT 项目时,出现以下错误: g++:致命错误:无法执行“d21”:execvp:没有这样的文件或目录 我还尝试在编译时包含文件的完整路径,但发生了相同的错误。为了确保版本不匹配,我查找了 gcc 和 g++ 版本,但两者都是相同的,gcc/g++ 版本:9.4.0。

当我尝试编译 QT 项目时,出现以下错误: g++:致命错误:无法执行“d21”:execvp:没有这样的文件或目录。

compiler-errors c++17 g++ execvp
2个回答
0
投票

d21 是 D 编程语言 GCC 驱动程序。您需要在GCC中安装GDC、D编程语言支持。


0
投票

我自己在使用

cmake
Ninja 生成器构建应用程序时遇到了此错误。
DEP_FILE
之前的变量在其字符串值中包含换行符,这导致
gcc
尝试将依赖文件视为 D 源文件。

对我来说,修复方法是将

OUTPUT_STRIP_TRAILING_WHITESPACE
添加到
execute_process
命令中,该命令在
cmake
中生成有问题的变量。

我建议检查生成的构建文件,如

build.ninja
(如果您使用的是 Ninja 生成器),看看您是否遇到类似的问题。或者从生成错误的命令行中可以明显看出正在发生某些变量损坏。

您可能还会发现,如果您使用不同的

cmake
生成器,问题就会消失(假设您正在构建
cmake
项目)。

© www.soinside.com 2019 - 2024. All rights reserved.