为什么不是命令" cmake。"生成一个makefile?

时间:2016-05-20 02:15:00

标签: c++ makefile cmake

我在终端中运行cmake .,它说它生成了一些东西,然后我运行make并说它

make: *** No targets specified and no makefile found.  Stop.

我猜测我错过了我需要做的其他事情,但我无法弄清楚是什么。它应该创建一个make文件,然后我可以构建然后安装。

如果我太模糊,请告诉我我还能为这个问题添加更多内容。

*编辑*

$ cmake .
-- Configuring done
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run               "cmake
 --help-policy CMP0042" for policy details.  Use the cmake_policy command to
 set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

  freeglut

This warning is for project developers.  Use -Wno-dev to suppress it.

 -- Generating done
 -- Build files have been written to:     /Users/nicholasl/Downloads/freeglut-3.0.0

****内容构建目录****

$ ls
AUTHORS             android
Build               android_toolchain.cmake
CMakeCache.txt          blackberry.toolchain.cmake
CMakeFiles          cmake_install.cmake
CMakeLists.txt          config.h
CMakeScripts            config.h.in
COPYING             doc
ChangeLog           freeglut.pc
README              freeglut.pc.in
README.android          freeglut.rc.in
README.blackberry       freeglut.xcodeproj
README.cmake            include
README.cygwin_mingw     mingw_cross_toolchain.cmake
README.mingw_cross      progs
README.win32            src

1 个答案:

答案 0 :(得分:10)

似乎CMake默认在Mac上生成XCode项目。 CMake生成了freeglut.xcodeproj以及所有支持文件。

最好从空目录运行cmake,这样您就可以看到它在运行时的实际效果。

要生成makefile(并创建构建目录),请执行

mkdir -p cmake-build && cd cmake-build
cmake .. -G"Unix Makefiles"

然后它应该生成Makefile