ld:无法打开输出文件conftest.exe:权限被拒绝

时间:2016-06-09 16:06:12

标签: msys2 windows64

在Windows 7 64位上使用MSYS2(版本x86_64-20160205),我正在尝试编译corkscrew

这是输出:

$ ./configure
loading cache ./config.cache
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) no
checking for working aclocal... found
checking for working autoconf... missing
checking for working automake... found
checking for working autoheader... missing
checking for working makeinfo... missing
checking for gcc... (cached) gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ANSI C... (cached) none needed
checking how to run the C preprocessor... (cached) gcc -E
checking for function prototypes... yes
checking for gcc... (cached) gcc
checking whether the C compiler (gcc -g -O2 ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.

config.log的内容:

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

configure:556: checking for a BSD compatible install
configure:609: checking whether build environment is sane
configure:666: checking whether make sets ${MAKE}
configure:712: checking for working aclocal
configure:725: checking for working autoconf
configure:738: checking for working automake
configure:751: checking for working autoheader
configure:764: checking for working makeinfo
configure:783: checking for gcc
configure:896: checking whether the C compiler (gcc  ) works
configure:912: gcc -o conftest    conftest.c  1>&5
configure:909:1: warning: return type defaults to 'int' [-Wimplicit-int]
 main(){return(0);}
 ^
configure:938: checking whether the C compiler (gcc  ) is a cross-compiler
configure:943: checking whether we are using GNU C
configure:971: checking whether gcc accepts -g
configure:1006: checking for gcc option to accept ANSI C
configure:1083: checking how to run the C preprocessor
configure:1165: checking for function prototypes
configure:1327: checking for gcc
configure:1440: checking whether the C compiler (gcc -g -O2 ) works
configure:1456: gcc -o conftest -g -O2   conftest.c  1>&5
configure:1453:1: warning: return type defaults to 'int' [-Wimplicit-int]
 main(){return(0);}
 ^
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: cannot open output file conftest.exe: Permission denied
collect2: error: ld returned 1 exit status
configure: failed program was:

#line 1451 "configure"
#include "confdefs.h"

main(){return(0);}

我测试this answer没有任何成功。或者更确切地说,它会随机进入下一步(检测我的系统失败,这更像是一个开瓶器的配置问题)...

这不是权利问题,因为我拥有该文件夹的所有权利,并且我使用我的用户执行./configure

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

由于权限问题,ld似乎无法创建可执行文件。尝试在您确定拥有的文件夹(例如C:\ Users \ yourusername)中构建程序,或尝试调整您正在构建的文件夹的权限。