我正在教程的帮助下安装 Cygwin 和 GNU C 编译器如何在 Windows 上安装最新的 GCC
我已经完成以下步骤
- 安装 Cygwin
- 安装所需的 Cygwin 包
第三步是“下载、构建和安装最新的 GCC”。
当我运行命令时,我卡住了,make -j4
并在 中出现以下错误Cygwin Terminal
。
$ make -j4 make[1]: 进入目录 '/home/Prasanna Rajaram/build-gcc-6.1.0' 在 ./intl 中配置 在 ./libiberty 中配置 在 ./lto-plugin 中配置 /bin/sh:/home/Prasanna:没有此文件或目录 Makefile:7416:目标‘configure-libiberty’的配方失败 make[1]: *** [configure-libiberty] 错误 1 make[1]: *** 等待未完成的作业.... 在 ./fixincludes 中配置 /bin/sh:/home/Prasanna:没有此文件或目录 Makefile:5330:目标“configure-intl”的配方失败 make[1]: *** [configure-intl] 错误 1 /bin/sh:/home/Prasanna:没有此文件或目录 Makefile:9308:目标‘configure-lto-plugin’的配方失败 make[1]: *** [configure-lto-plugin] 错误 1 /bin/sh:/home/Prasanna:没有此文件或目录 Makefile:3470:目标‘configure-fixincludes’的配方失败 make[1]: *** [configure-fixincludes] 错误 1 make[1]: 离开目录 '/home/Prasanna Rajaram/build-gcc-6.1.0' Makefile:879:目标“全部”的配方失败 make:*** [全部] 错误 2
我也猜想是哪里出了问题。在我的主目录路径中,'/home/Prasanna Rajaram/
我的名字和姓氏之间有一个空格。我不知道 Windows 10 如何在目录下创建这样的文件夹名称C:\Users
。
我该如何解决这个问题?我不愿意将用户目录重命名为一个单词(如:),PrasannaRajaram
因为这可能会影响可能使用此路径的其他程序。
还有这样的想法,这条路径可能只适用于 Cygwin,因为它以/home
我怎样才能让它工作?
編輯-1 按照以下答案中的步骤操作后
mkdir /home/prasanna mkpasswd -c > /etc/passwd sed -i -e “s/Prasanna Rajaram/prasanna/g” /etc/passwd
Cygwin 上的输出现在如下所示:
$ make -j4 make[1]: 进入目录 '/home/Prasanna Rajaram/build-gcc-6.1.0' 在 ./lto-plugin 中配置 在 ./intl 中配置 在 ./fixincludes 中配置 /home/Prasanna: /home/Prasanna:是一个目录 Makefile:9308:目标‘configure-lto-plugin’的配方失败 make[1]: *** [configure-lto-plugin] 错误 1 make[1]: *** 等待未完成的作业.... 在 ./libiberty 中配置 /home/Prasanna: /home/Prasanna:是一个目录 Makefile:5330:目标“configure-intl”的配方失败 make[1]: *** [configure-intl] 错误 1 /home/Prasanna: /home/Prasanna:是一个目录 Makefile:3470:目标‘configure-fixincludes’的配方失败 make[1]: *** [configure-fixincludes] 错误 1 /home/Prasanna: /home/Prasanna:是一个目录 Makefile:7416:目标‘configure-libiberty’的配方失败 make[1]: *** [configure-libiberty] 错误 1 make[1]: 离开目录 '/home/Prasanna Rajaram/build-gcc-6.1.0' Makefile:879:目标“全部”的配方失败 make:*** [全部] 错误 2
答案1
https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-passwdinfo
简而言之:
mkdir /home/prasanna
mkpasswd -c > /etc/passwd
sed -i -e "s/Prasanna Rajaram/prasanna/g" /etc/passwd
关闭所有 Cygwin 终端并重新启动。
免责声明:构建 gcc 适合专家;我建议您从一个更简单的项目开始。
根据评论更新
完成上述步骤后,将
build-gcc-6.1.0
和gcc-6.1.0
文件夹移至/home/prasanna
文件夹运行
make -j4
并现在(从/home/prasanna
文件夹)它应该可以毫无问题地运行