MinGW“无法找到过程入口点libintl_setlocale ......”

时间:2014-10-25 16:15:47

标签: c++ c windows cmake mingw

我在Windows 7 64位下构建项目时遇到问题。我已经在SO上看过类似的问题,但没有找到合适的解决方案。我跑的时候:

cmake -v -G "MSYS Makefiles" CMakeLists.txt

它给了我以下输出:

> -- The C compiler identification is unknown
-- Check for working C compiler: c:/MinGW/bin/gcc.exe
-- Check for working C compiler: c:/MinGW/bin/gcc.exe -- broken
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.0/Modules/CMakeTestCCo
mpiler.cmake:61 (message):
  The C compiler "c:/MinGW/bin/gcc.exe" is not able to compile a simple test
  program.

  It fails with the following output:

   Change Dir: C:/Users/Sony/Documents/Computer_Graphics/assignment_01/programmi
ng/glfw/CMakeFiles/CMakeTmp



  Run Build Command:"C:/MinGW/msys/1.0/bin/make.exe"
  "cmTryCompileExec1735268707/fast"

  /usr/bin/make -f CMakeFiles/cmTryCompileExec1735268707.dir/build.make
  CMakeFiles/cmTryCompileExec1735268707.dir/build

  make[1]: Entering directory
  `/c/Users/Sony/Documents/Computer_Graphics/assignment_01/programming/glfw/CMak
eFiles/CMakeTmp'


  "/C/Program Files (x86)/CMake/bin/cmake.exe" -E cmake_progress_report
  /C/Users/Sony/Documents/Computer_Graphics/assignment_01/programming/glfw/CMake
Files/CMakeTmp/CMakeFiles
  1

  Building C object
  CMakeFiles/cmTryCompileExec1735268707.dir/testCCompiler.c.obj

  /c/MinGW/bin/gcc.exe -o
  CMakeFiles/cmTryCompileExec1735268707.dir/testCCompiler.c.obj -c
  /C/Users/Sony/Documents/Computer_Graphics/assignment_01/programming/glfw/CMake
Files/CMakeTmp/testCCompiler.c


  make[1]: ***
  [CMakeFiles/cmTryCompileExec1735268707.dir/testCCompiler.c.obj] Error 1

  make[1]: Leaving directory

此外,我收到下一条错误消息3次,在编译尝试期间,它显示"过程入口点libintl_setlocale无法位于库libintl-8.dll"

CMakeError.log:

  

编译C编译器标识源文件   " CMakeCCompilerId.c"失败。编译器:c:/MinGW/bin/gcc.exe构建   flags:Id标志:

     

输出为:1

     

编译C编译器标识源文件   " CMakeCCompilerId.c"失败。编译器:c:/MinGW/bin/gcc.exe构建   flags:Id标志:-c

     

输出为:1

     

编译C编译器标识源文件   " CMakeCCompilerId.c"失败。编译器:c:/MinGW/bin/gcc.exe构建   flags:Id标志:-Aa

     

输出为:1:0:1:错误:丢失'('之后   谓词

     

使用""检查C编译器是否为IAR。不匹配" IAR。+   编译器":gcc.exe:致命错误:没有输入文件编译   终止。确定C编译器是否工作失败   以下输出:更改目录:   C:/用户/索尼/文档/ Computer_Graphics / assignment_01 /编程/ GLFW / CMakeFiles / CMakeTmp

     

运行Build命令:" C:/MinGW/msys/1.0/bin/make.exe"   " cmTryCompileExec2453403923 /快" / usr / bin / make -f   CMakeFiles / cmTryCompileExec2453403923.dir / build.make   CMakeFiles / cmTryCompileExec2453403923.dir / build make [1]:进入   目录   /c/Users/Sony/Documents/Computer_Graphics/assignment_01/programming/glfw/CMakeFiles/CMakeTmp' "/c/Program Files (x86)/CMake/bin/cmake.exe" -E cmake_progress_report /C/Users/Sony/Documents/Computer_Graphics/assignment_01/programming/glfw/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec2453403923.dir/testCCompiler.c.obj /c/MinGW/bin/gcc.exe -o CMakeFiles/cmTryCompileExec2453403923.dir/testCCompiler.c.obj -c /C/Users/Sony/Documents/Computer_Graphics/assignment_01/programming/glfw/CMakeFiles/CMakeTmp/testCCompiler.c make[1]: Leaving directory / C /用户/索尼/文档/ Computer_Graphics / assignment_01 /编程/ GLFW / CMakeFiles / CMakeTmp'   make [1]: *   [CMakeFiles / cmTryCompileExec2453403923.dir / testCCompiler.c.obj]错误   1 make:* [cmTryCompileExec2453403923 / fast]错误2

     

编译C编译器标识源文件   " CMakeCCompilerId.c"失败。编译器:c:/MinGW/bin/gcc.exe构建   flags:Id标志:

     

输出为:1

     

编译C编译器标识源文件   " CMakeCCompilerId.c"失败。编译器:c:/MinGW/bin/gcc.exe构建   flags:Id标志:-c

     

输出为:1

     

编译C编译器标识源文件   " CMakeCCompilerId.c"失败。编译器:c:/MinGW/bin/gcc.exe构建   flags:Id标志:-Aa

     

输出为:1:0:1:错误:丢失'('之后   谓词

     

使用""检查C编译器是否为IAR。不匹配" IAR。+   编译器":gcc.exe:致命错误:没有输入文件编译   终止。确定C编译器是否工作失败   以下输出:更改目录:   C:/用户/索尼/文档/ Computer_Graphics / assignment_01 /编程/ GLFW / CMakeFiles / CMakeTmp

     

运行Build命令:" C:/MinGW/msys/1.0/bin/make.exe"   " cmTryCompileExec78678067 /快" / usr / bin / make -f   CMakeFiles / cmTryCompileExec78678067.dir / build.make   CMakeFiles / cmTryCompileExec78678067.dir / build make [1]:进入   目录   /c/Users/Sony/Documents/Computer_Graphics/assignment_01/programming/glfw/CMakeFiles/CMakeTmp' "/C/Program Files (x86)/CMake/bin/cmake.exe" -E cmake_progress_report /C/Users/Sony/Documents/Computer_Graphics/assignment_01/programming/glfw/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec78678067.dir/testCCompiler.c.obj /c/MinGW/bin/gcc.exe -o CMakeFiles/cmTryCompileExec78678067.dir/testCCompiler.c.obj -c /C/Users/Sony/Documents/Computer_Graphics/assignment_01/programming/glfw/CMakeFiles/CMakeTmp/testCCompiler.c make[1]: make[1]: Leaving directory / C /用户/索尼/文档/ Computer_Graphics / assignment_01 /编程/ GLFW / CMakeFiles / CMakeTmp'    * [CMakeFiles / cmTryCompileExec78678067.dir / testCCompiler.c.obj]错误1 make:* [cmTryCompileExec78678067 / fast]错误2

     

编译C编译器标识源文件   " CMakeCCompilerId.c"失败。编译器:c:/MinGW/bin/gcc.exe构建   flags:Id标志:

     

输出为:1

     

编译C编译器标识源文件   " CMakeCCompilerId.c"失败。编译器:c:/MinGW/bin/gcc.exe构建   flags:Id标志:-c

     

输出为:1

     

编译C编译器标识源文件   " CMakeCCompilerId.c"失败。编译器:c:/MinGW/bin/gcc.exe构建   flags:Id标志:-Aa

     

输出为:1:0:1:错误:丢失'('之后   谓词

     

使用""检查C编译器是否为IAR。不匹配" IAR。+   编译器":gcc.exe:致命错误:没有输入文件编译   终止。确定C编译器是否工作失败   以下输出:更改目录:   C:/用户/索尼/文档/ Computer_Graphics / assignment_01 /编程/ GLFW / CMakeFiles / CMakeTmp

     

运行Build命令:" C:/MinGW/msys/1.0/bin/make.exe"   " cmTryCompileExec1735268707 /快" / usr / bin / make -f   CMakeFiles / cmTryCompileExec1735268707.dir / build.make   CMakeFiles / cmTryCompileExec1735268707.dir / build make [1]:进入   目录   /c/Users/Sony/Documents/Computer_Graphics/assignment_01/programming/glfw/CMakeFiles/CMakeTmp' "/C/Program Files (x86)/CMake/bin/cmake.exe" -E cmake_progress_report /C/Users/Sony/Documents/Computer_Graphics/assignment_01/programming/glfw/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec1735268707.dir/testCCompiler.c.obj /c/MinGW/bin/gcc.exe -o CMakeFiles/cmTryCompileExec1735268707.dir/testCCompiler.c.obj -c /C/Users/Sony/Documents/Computer_Graphics/assignment_01/programming/glfw/CMakeFiles/CMakeTmp/testCCompiler.c make[1]: *** [CMakeFiles/cmTryCompileExec1735268707.dir/testCCompiler.c.obj] Error 1 make[1]: Leaving directory / C /用户/索尼/文档/ Computer_Graphics / assignment_01 /编程/ GLFW / CMakeFiles / CMakeTmp'   make:*** [cmTryCompileExec1735268707 / fast]错误2

     

编译C编译器标识源文件   " CMakeCCompilerId.c"失败。编译器:c:/MinGW/bin/gcc.exe构建   flags:Id标志:

     

输出为:1

     

编译C编译器标识源文件   " CMakeCCompilerId.c"失败。编译器:c:/MinGW/bin/gcc.exe构建   flags:Id标志:-c

     

输出为:1

我的路径环境变量:

  

C:\ Program Files(x86)\ PC Connectivity Solution \; C:\ Program   Files \ Common Files \ Microsoft Shared \ Windows Live; C:\ Program Files   (x86)\ Common Files \ Microsoft Shared \ Windows Live; c:\ Program Files   (x86)\ Intel \ iCLS Client \; c:\ Program Files \ Intel \ iCLS   Client \; C:\ Program Files(x86)\ AMD APP \ bin \ x86_64; C:\ Program Files   (86)\ AMD   APP \ BIN \ 86;的%SystemRoot%\ SYSTEM32;的%SystemRoot%;%SYSTEMROOT%\ SYSTEM32 \ WBEM;%SYSTEMROOT%\ SYSTEM32 \ WindowsPowerShell \ V1.0 \; C:\ PROGRAM   文件(x86)\ ATI Technologies \ ATI.ACE \ Core-Static; C:\ Program   Files \ Intel \ Intel(R)管理引擎组件\ DAL; C:\ Program   Files \ Intel \ Intel(R)Management Engine Components \ IPT; C:\ Program Files   (x86)\ Intel \ Intel(R)管理引擎组件\ DAL; C:\ Program Files   (x86)\ Intel \ Intel(R)管理引擎组件\ IPT; C:\ Program   Files \ Sony \ VAIO Improvement \; C:\ Program Files(x86)\ Sony \ VAIO Startup   设置工具; C:\ Program Files(x86)\ Windows Live \ Shared; c:\ Program   文件(x86)\ Microsoft SQL Server \ 100 \ Tools \ Binn \; c:\ Program   Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \; c:\ Program Files \ Microsoft   SQL Server \ 100 \ DTS \ Binn \; C:\ Program Files   (86)\ MVActiveX \; C:\的Java \ jdk1.7.0_09 \ BIN; C:\ PROGRAM   Files \ Microsoft \ Web Platform Installer \; C:\ Program Files   (x86)\ Microsoft ASP.NET \ ASP.NET网页\ v1.0 \; C:\ Program Files   (x86)\ Windows Kits \ 8.0 \ Windows Performance Toolkit \; C:\ Program   Files \ Microsoft SQL Server \ 110 \ Tools \ Binn \; C:\ Program   文件\ TortoiseHg \; C:\ PROGRAM   FILES \ MATLAB \ R2013a \运行\ Win64平台; C:\ PROGRAM   Files \ MATLAB \ R2013a \ bin; C:\ MinGW \ bin; C:\ Program Files(x86)\ CMake \ bin

我安装并重新安装了mingw并调查了我的路径变量,但仍然没有解决方案。任何想法,我错了吗?

3 个答案:

答案 0 :(得分:7)

我刚刚找到答案:我的路径中有另一个libintl-8.dll。

从命令行执行此操作:

where libintl-8.dll

然后重命名除MinGW树中的所有内容之外的所有内容。

如果失败,则可能需要重新安装MinGW树。祝你好运。

答案 1 :(得分:1)

在System32 / SysWOW64中删除libintl-8.dll,它应该可以正常工作。

答案 2 :(得分:0)

这是一个有点无知的猜测,但libintl-8.dll的问题可能来自路径问题。在您的路径中的某个位置,您可以使用具有不同入口点的旧版本的lib。确保您拥有最新版本的MinGW和所有相关库,然后尝试将MinGW \ bin移动到路径变量的顶部。

有关此问题的另一个示例,请参阅:MinGW "The procedure entry point libiconv could not be located ..."

这个相关问题的答案帮助我解决了我遇到的类似问题。