目录
问题描述
(1)cmake编译c++程序遇到如下错误:
make : 无法将“make”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
- make
+ CategoryInfo : ObjectNotFound: (make:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
(2) 同时通过搜索minGW/bin文件,发现并没有对应的mingw32-make.exe文件
(3)make: *** No targets specified and no makefile found. Stop
解决方式
(1)需要重新下载mingw32-make.exe文件
在minGW/bin文件,使用cmd输入如下命令
mingw-get install gcc g++ mingw32-make
输入后会安装
http://osdn.net/dl/mingw/gcc-9.2.0-2-mingw32-lic.tar.xz
21.33 kB / 21.33 kB |================================================| 100%
http://osdn.net/dl/mingw/gcc-9.2.0-2-mingw32-man.tar.xz
281.37 kB / 281.37 kB |================================================| 100%
http://osdn.net/dl/mingw/gcc-9.2.0-2-mingw32-info.tar.xz
1.00 MB / 1.00 MB |================================================| 100%
http://osdn.net/dl/mingw/gcc-9.2.0-2-mingw32-lang.tar.xz
1.57 MB / 1.57 MB |================================================| 100%
http://osdn.net/dl/mingw/gcc-c++-9.2.0-2-mingw32-man.tar.xz
255.52 kB / 255.52 kB |================================================| 100%
http://prdownloads.sourceforge.net/mingw/make-3.82.90-2-mingw32-cvs-20120902-bin.tar.lzma?download
94.58 kB / 94.58 kB |================================================| 100%
http://prdownloads.sourceforge.net/mingw/make-3.82.90-2-mingw32-cvs-20120902-doc.tar.lzma?download
183.46 kB / 183.46 kB |================================================| 100%
http://prdownloads.sourceforge.net/mingw/make-3.82.90-2-mingw32-cvs-20120902-lic.tar.lzma?download
11.23 kB / 11.23 kB |================================================| 100%
http://prdownloads.sourceforge.net/mingw/make-3.82.90-2-mingw32-cvs-20120902-lang.tar.lzma?download
90.81 kB / 90.81 kB |================================================| 100%
install: gcc-9.2.0-2-mingw32-lic.tar.xz
installing gcc-9.2.0-2-mingw32-lic.tar.xz
install: gcc-core-9.2.0-2-mingw32-bin.tar.xz
mingw-get: *** ERROR *** package gcc-core-9.2.0-2-mingw32-bin.tar.xz is already installed
install: gcc-core-4.8.2-2-mingw32-dev.tar.lzma
installing gcc-core-4.8.2-2-mingw32-dev.tar.lzma
install: gcc-core-4.8.1-5-mingw32-doc.tar.lzma
installing gcc-core-4.8.1-5-mingw32-doc.tar.lzma
install: gcc-9.2.0-2-mingw32-man.tar.xz
installing gcc-9.2.0-2-mingw32-man.tar.xz
install: gcc-9.2.0-2-mingw32-info.tar.xz
installing gcc-9.2.0-2-mingw32-info.tar.xz
install: gcc-9.2.0-2-mingw32-lang.tar.xz
installing gcc-9.2.0-2-mingw32-lang.tar.xz
install: gcc-c++-9.2.0-2-mingw32-bin.tar.xz
mingw-get: *** ERROR *** package gcc-c++-9.2.0-2-mingw32-bin.tar.xz is already installed
install: gcc-c++-4.8.2-2-mingw32-dev.tar.meta
installing gcc-c++-4.8.2-2-mingw32-dev.tar.meta
install: gcc-c++-4.8.1-5-mingw32-doc.tar.lzma
installing gcc-c++-4.8.1-5-mingw32-doc.tar.lzma
install: gcc-c++-9.2.0-2-mingw32-man.tar.xz
installing gcc-c++-9.2.0-2-mingw32-man.tar.xz
install: make-3.82.90-2-mingw32-cvs-20120902-bin.tar.lzma
installing make-3.82.90-2-mingw32-cvs-20120902-bin.tar.lzma
install: make-3.82.90-2-mingw32-cvs-20120902-doc.tar.lzma
installing make-3.82.90-2-mingw32-cvs-20120902-doc.tar.lzma
install: make-3.82.90-2-mingw32-cvs-20120902-lic.tar.lzma
installing make-3.82.90-2-mingw32-cvs-20120902-lic.tar.lzma
install: make-3.82.90-2-mingw32-cvs-20120902-lang.tar.lzma
installing make-3.82.90-2-mingw32-cvs-20120902-lang.tar.lzma
(2)此时文件夹中会出现mingw32-make.exe程序
此时使用“mingw32-make”可以实现make编译,但是输入“make”还是会提示问题中的错误
(3)将mingw32-make.exe程序重命名为“make”,再编译就可以啦
(4)make: *** No targets specified and no makefile found. Stop
使用构建命令
cmake --build .--target all。
为什么该make命令在 Windows 上不起作用:CMake 是一种生成项目的工具,可以通过适合系统的构建工具来构建这些项目。CMake 通常为 Windows 生成 MSVC 项目,因此它不会通过make命令生成一个Makefile。
或者方法二:
删除现有build文件夹,重新使用如下命令进行编译:
cmake ..-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++-G "Unix Makefiles"
cmake 的处理器结果使用"Unix Makefiles"
版权归原作者 CV_SLAM 所有, 如有侵权,请联系我们删除。