微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Windows 目标构建:错误:C 编译器在配置时无法创建可执行文件

如何解决Windows 目标构建:错误:C 编译器在配置时无法创建可执行文件

我正在尝试使用 MS Visual C/C++ 工具链构建 gettext-0.21,我正在使用 INSTALL.windows 文件中的第二种方法,但出现错误 configure: error: C compiler cannot create executables

首先我设置了如下变量名。

    win32_target=_WIN32_WINNT_WIN10

 # Visual C++ tools,headers and libraries.
  VSINSTALLDIR='C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801'
 PATH=`cygpath -u "${VSINSTALLDIR}"`/bin/Hostx64/x64:"$PATH"
 INCLUDE="${VSINSTALLDIR}"'\include;'"${INCLUDE}"
 LIB="${VSINSTALLDIR}"'\lib\x64;'"${LIB}"

来自 cygwin bash 的日志

checking whether make supports nested variables... yes
checking for x86_64-w64-mingw32-gcc... /home/davin/msvc/compile cl -nologo
checking whether the C compiler works... no
configure: error: in `/cygdrive/c/pglib/gettext021/gettext-runtime':
configure: error: C compiler cannot create executables
See `config.log' for more details
configure: error: ./configure Failed for gettext-runtime

这里是 config.log

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

It was created by gettext configure 0.21,which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ ./configure --disable-option-checking --prefix=/usr/local/msvc64 --host=x86_64-w64-mingw32 CC=/home/davin/msvc/compile cl -nologo CFLAGS=-MD CXX=/home/davin/msvc/compile cl -nologo CXXFLAGS=-MD CPPFLAGS=-D_WIN32_WINNT=_WIN32_WINNT_WIN10 -I/usr/local/msvc64/include LDFLAGS=-L/usr/local/msvc64/lib LD=link NM=dumpbin -symbols STRIP=: AR=/home/davin/msvc/ar-lib lib RANLIB=: host_alias=x86_64-w64-mingw32 --cache-file=/dev/null --srcdir=.

## --------- ##
## Platform. ##
## --------- ##

hostname = DESKTOP-BKM83UR
uname -m = x86_64
uname -r = 3.1.7(0.340/5/3)
uname -s = CYGWIN_NT-10.0
uname -v = 2020-08-22 17:48

/usr/bin/uname -p = unkNown
/bin/uname -X     = unkNown

/bin/arch              = x86_64
/usr/bin/arch -k       = unkNown
/usr/convex/getsysinfo = unkNown
/usr/bin/hostinfo      = unkNown
/bin/machine           = unkNown
/usr/bin/oslevel       = unkNown
/bin/universe          = unkNown

PATH: /usr/local/msvc64/bin
PATH: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64
PATH: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64
PATH: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.26.28801/bin/x64
PATH: /usr/local/msvc64/bin
PATH: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/bin/amd64
PATH: /usr/local/bin
PATH: /usr/bin
PATH: /cygdrive/c/app/davin/product/18.0.0/dbhomeXE/bin
PATH: /cygdrive/c/ActiveTcl/bin
PATH: /cygdrive/c/WINDOWS/system32
PATH: /cygdrive/c/WINDOWS
PATH: /cygdrive/c/WINDOWS/System32/Wbem
PATH: /cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0
PATH: /cygdrive/c/WINDOWS/System32/OpenSSH
PATH: /cygdrive/c/Program Files/MIT/Kerberos/bin
PATH: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2019/Professional/MSBuild/Microsoft/VC/v160/1033
PATH: /cygdrive/c/StrawBerry/c/bin
PATH: /cygdrive/c/StrawBerry/perl/bin
PATH: /cygdrive/c/StrawBerry/perl/site/bin
PATH: /cygdrive/c/Apps/libxslt-1.1.26.win32/bin
PATH: /cygdrive/c/Apps/libxml2-2.7.8.win32/bin
PATH: /cygdrive/c/zlib/zlib-1.2.11/bin
PATH: /cygdrive/c/mingw_libint/bin
PATH: /cygdrive/c/Apps/libpq
PATH: /cygdrive/c/Program Files/dotnet
PATH: /cygdrive/c/Program Files/Microsoft sql Server/130/Tools/Binn
PATH: /cygdrive/c/MinGW/msys/1.0/bin
PATH: /cygdrive/c/Program Files/Git/cmd
PATH: /cygdrive/c/Program Files (x86)/7-Zip
PATH: /cygdrive/c/Program Files (x86)/dotnet
PATH: /cygdrive/c/Users/davin/AppData/Local/Microsoft/WindowsApps


## ----------- ##
## Core tests. ##
## ----------- ##

configure:1943: checking for a BSD-compatible install
configure:2011: result: /usr/bin/install -c
configure:2022: checking whether build environment is sane
configure:2077: result: yes
configure:2136: checking for x86_64-w64-mingw32-strip
configure:2163: result: :
configure:2228: checking for a thread-safe mkdir -p
configure:2267: result: /usr/bin/mkdir -p
configure:2274: checking for gawk
configure:2290: found /usr/bin/gawk
configure:2301: result: gawk
configure:2312: checking whether make sets $(MAKE)
configure:2334: result: yes
configure:2363: checking whether make supports nested variables
configure:2380: result: yes
configure:2469: checking whether UID '197609' is supported by ustar format
configure:2472: result: yes
configure:2479: checking whether GID '197609' is supported by ustar format
configure:2482: result: yes
configure:2490: checking how to create a ustar tar archive
configure:2501: tar --version
tar (GNU tar) 1.34
Packaged by Cygwin (1.34-1)
copyright (C) 2021 Free Software Foundation,Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY,to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
configure:2504: $? = 0
configure:2544: tardir=conftest.dir && eval tar --format=ustar -chf - "$tardir" >conftest.tar
configure:2547: $? = 0
configure:2551: tar -xf - <conftest.tar
configure:2554: $? = 0
configure:2556: cat conftest.dir/file
GrepMe
configure:2559: $? = 0
configure:2572: result: gnutar
configure:2641: checking build system type
configure:2655: result: x86_64-pc-cygwin
configure:2675: checking host system type
configure:2688: result: x86_64-w64-mingw32
configure:3398: checking that generated files are newer than configure
configure:3404: result: done
configure:3412: creating ./config.status

## ---------------------- ##
## Running config.status. ##
## ---------------------- ##

This file was extended by gettext config.status 0.21,which was
generated by GNU Autoconf 2.69.  Invocation command line was

  CONfig_FILES    = 
  CONfig_HEADERS  = 
  CONfig_LINKS    = 
  CONfig_COMMANDS = 
  $ ./config.status 

on DESKTOP-BKM83UR

config.status:765: creating Makefile
config.status:765: creating gnulib-local/Makefile
configure:4498: === configuring in gettext-runtime (/cygdrive/c/pglib/gettext021/gettext-runtime)
configure:4561: running /bin/sh ./configure --disable-option-checking '--prefix=/usr/local/msvc64'  '--host=x86_64-w64-mingw32' 'CC=/home/davin/msvc/compile cl -nologo' 'CFLAGS=-MD' 'CXX=/home/davin/msvc/compile cl -nologo' 'CXXFLAGS=-MD' 'CPPFLAGS=-D_WIN32_WINNT=_WIN32_WINNT_WIN10 -I/usr/local/msvc64/include' 'LDFLAGS=-L/usr/local/msvc64/lib' 'LD=link' 'NM=dumpbin -symbols' 'STRIP=:' 'AR=/home/davin/msvc/ar-lib lib' 'RANLIB=:' 'host_alias=x86_64-w64-mingw32' --cache-file=/dev/null --srcdir=.
configure:4566: error: ./configure Failed for gettext-runtime

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=x86_64-pc-cygwin
ac_cv_env_CC_set=set
ac_cv_env_CC_value='/home/davin/msvc/compile cl -nologo'
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value=-MD
ac_cv_env_CPPFLAGS_set=set
ac_cv_env_CPPFLAGS_value='-D_WIN32_WINNT=_WIN32_WINNT_WIN10 -I/usr/local/msvc64/include'
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=set
ac_cv_env_CXXFLAGS_value=-MD
ac_cv_env_CXX_set=set
ac_cv_env_CXX_value='/home/davin/msvc/compile cl -nologo'
ac_cv_env_EMAcslOAdpath_set=
ac_cv_env_EMAcslOAdpath_value=
ac_cv_env_EMACS_set=
ac_cv_env_EMACS_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value=-L/usr/local/msvc64/lib
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_LT_SYS_LIBRARY_PATH_set=
ac_cv_env_LT_SYS_LIBRARY_PATH_value=
ac_cv_env_YACC_set=
ac_cv_env_YACC_value=
ac_cv_env_YFLAGS_set=
ac_cv_env_YFLAGS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=set
ac_cv_env_host_alias_value=x86_64-w64-mingw32
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_host=x86_64-w64-mingw32
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/usr/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_STRIP=:
ac_cv_prog_make_make_set=yes
am_cv_make_support_nested_variables=yes
am_cv_prog_tar_ustar=gnutar

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} /cygdrive/c/pglib/gettext021/build-aux/missing aclocal-1.16'
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='1'
AM_V='$(V)'
AUTOCONF='${SHELL} /cygdrive/c/pglib/gettext021/build-aux/missing autoconf'
AUTOHEADER='${SHELL} /cygdrive/c/pglib/gettext021/build-aux/missing autoheader'
AUTomake='${SHELL} /cygdrive/c/pglib/gettext021/build-aux/missing automake-1.16'
AWK='gawk'
CC='/home/davin/msvc/compile cl -nologo'
CFLAGS='-MD'
CPP=''
CPPFLAGS='-D_WIN32_WINNT=_WIN32_WINNT_WIN10 -I/usr/local/msvc64/include'
CXX='/home/davin/msvc/compile cl -nologo'
CXXCPP=''
CXXFLAGS='-MD'
CYGPATH_W='cygpath -w'
DEFS='-DPACKAGE_NAME=\"gettext\" -DPACKAGE_TARNAME=\"gettext\" -DPACKAGE_VERSION=\"0.21\" -DPACKAGE_STRING=\"gettext\ 0.21\" -DPACKAGE_BUGREPORT=\"bug-gettext@gnu.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"gettext\" -DVERSION=\"0.21\"'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EMACS=''
EMAcslOAdpath=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LDFLAGS='-L/usr/local/msvc64/lib'
LIBOBJS=''
LIBS=''
LTLIBOBJS=''
LT_SYS_LIBRARY_PATH=''
MAKEINFO='${SHELL} /cygdrive/c/pglib/gettext021/build-aux/missing makeinfo'
MKDIR_P='/usr/bin/mkdir -p'
PACKAGE='gettext'
PACKAGE_BUGREPORT='bug-gettext@gnu.org'
PACKAGE_NAME='gettext'
PACKAGE_STRING='gettext 0.21'
PACKAGE_TARNAME='gettext'
PACKAGE_URL=''
PACKAGE_VERSION='0.21'
PATH_SEParaTOR=':'
SET_MAKE=''
SHELL='/bin/sh'
STRIP=':'
VERSION='0.21'
YACC=''
YFLAGS=''
am__isrc=''
am__leading_dot='.'
am__tar='${AMTAR} chf - --format=ustar --owner=root --group=root "$$tardir"'
am__untar='tar -xf -'
bindir='${exec_prefix}/bin'
build='x86_64-pc-cygwin'
build_alias=''
build_cpu='x86_64'
build_os='cygwin'
build_vendor='pc'
datadir='${daTarootdir}'
daTarootdir='${prefix}/share'
docdir='${daTarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='${prefix}'
host='x86_64-w64-mingw32'
host_alias='x86_64-w64-mingw32'
host_cpu='x86_64'
host_os='mingw32'
host_vendor='w64'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${daTarootdir}/info'
install_sh='${SHELL} /cygdrive/c/pglib/gettext021/build-aux/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${daTarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${daTarootdir}/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/usr/local/msvc64'
program_transform_name='s,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
subdirs=' gettext-runtime libtextstyle gettext-tools'
sysconfdir='${prefix}/etc'
target_alias=''

configure: exit 77

我将使用此版本在 Postgresql 上提供 NLS 支持。 有人可以建议我错过了什么吗?或者有没有其他的方法来构建?请提出建议。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。