gpt4 book ai didi

c++ - 在 cygwin 终端中运行时显示不存在的文件夹的 cmake 错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:53:07 24 4
gpt4 key购买 nike

我正在尝试使用 cmake 在 cygwin(在 Windows 8 中)中编译一个 c++ 库 g2o。我创建了一个构建文件夹,当我尝试在该文件夹中执行 cmake 时,它​​失败并出现以下错误

$ cmake ../
-- The C compiler identification is GNU 4.8.3
-- The CXX compiler identification is GNU 4.8.3
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- broken
CMake Error at /usr/share/cmake-2.8.11.2/Modules/CMakeTestCCompiler.cmake:61 (message):
The C compiler "/usr/bin/cc" is not able to compile a simple test program.

It fails with the following output:

Change Dir: /cygdrive/b/g2o/trunk/build/CMakeFiles/CMakeTmp



Run Build Command:/cygdrive/c/Program\
Files/MATLAB/R2009a/bin/win64/gmake.exe "cmTryCompileExec3795381385/fast"

C:/Program Files/MATLAB/R2009a/bin/win64/gmake -f
CMakeFiles/cmTryCompileExec3795381385.dir/build.make
CMakeFiles/cmTryCompileExec3795381385.dir/build

gmake[1]: Entering directory `B:/g2o/trunk/build/CMakeFiles/CMakeTmp'

/usr/bin/cmake.exe -E cmake_progress_report "/cygdrive/b/g2o/trunk/build/CMakeFiles/CMakeTmp/CMakeFiles" 1

Building C object
CMakeFiles/cmTryCompileExec3795381385.dir/testCCompiler.c.o

/usr/bin/cc -o CMakeFiles/cmTryCompileExec3795381385.dir/testCCompiler.c.o
-c "/cygdrive/b/g2o/trunk/build/CMakeFiles/CMakeTmp/testCCompiler.c"

Linking C executable cmTryCompileExec3795381385.exe

/usr/bin/cmake.exe -E cmake_link_script
CMakeFiles/cmTryCompileExec3795381385.dir/link.txt --verbose=1

gmake[1]: Leaving directory `B:/g2o/trunk/build/CMakeFiles/CMakeTmp'

process_begin: CreateProcess(NULL, /usr/bin/cmake.exe -E cmake_link_script
CMakeFiles/cmTryCompileExec3795381385.dir/link.txt --verbose=1, ...)
failed.

make (e=2): The system cannot find the file specified.

gmake[1]: *** [cmTryCompileExec3795381385.exe] Error 2

gmake: *** [cmTryCompileExec3795381385/fast] Error 2

CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:4 (PROJECT)


-- Configuring incomplete, errors occurred!

这里有趣的是我在我的机器上安装了 cmake 3.0,错误提示是 cmake 2.8.11.2。我在电脑中进行了搜索,但找不到该名称的任何文件夹。系统路径变量也包含正确的 cmake bin 文件夹的路径。

我无法弄清楚此错误背后的原因。这可能是cygwin本身的问题吗?我该怎么做才能避免此错误?

最佳答案

需要注意的一点是,Cygwin 有自己的 CMake 拷贝,也就是您所看到的 2.8.11.2。该版本与您的 Windows 机器上的版本无关。您是否尝试过使用 Windows 安装版本而不是 Cygwin?

我认为问题出在没有在 Cygwin 中安装所有必需的编译器库。您可以尝试创建一个简单的 C++ 文件并尝试直接用 gcc 编译它。如果失败,您现在已经找到了 CMake 失败的原因。

除非有充分的理由这样做,否则您可能应该考虑不使用 Cygwin 在 Windows 中运行 CMake。 CMake 非常有能力生成 Visual Studio 项目文件。

关于c++ - 在 cygwin 终端中运行时显示不存在的文件夹的 cmake 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24823295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com