Visual c++ 设置cmake';使用git bash在命令行上设置msvc编译器标志
有人能帮助解决以下问题吗。我正在使用Cmake+GitBash,并在windows机器上使用msvc编译器。如果我以以下方式配置项目Visual c++ 设置cmake';使用git bash在命令行上设置msvc编译器标志,visual-c++,cmake,git-bash,Visual C++,Cmake,Git Bash,有人能帮助解决以下问题吗。我正在使用Cmake+GitBash,并在windows机器上使用msvc编译器。如果我以以下方式配置项目cmake..一切正常,我可以看到以下输出: -- Building for: Visual Studio 16 2019 -- The C compiler identification is MSVC 19.24.28319.0 -- The CXX compiler identification is MSVC 19.24.28319.0 -- Check f
cmake..
一切正常,我可以看到以下输出:
-- Building for: Visual Studio 16 2019
-- The C compiler identification is MSVC 19.24.28319.0
-- The CXX compiler identification is MSVC 19.24.28319.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe - works
但是,当我尝试设置编译器标志cmake-DCMAKE\u CXX\u flags=“/MD.”
时,出现以下错误:
-- Building for: Visual Studio 16 2019
-- The C compiler identification is MSVC 19.24.28319.0
-- The CXX compiler identification is MSVC 19.24.28319.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe - broken
CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeTestCXXCompiler.cmake:53 (message):
The C++ compiler
"C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: C:/dev/projects/camshare/microservices/templates/microservice_cpp/build/CMakeFiles/CMakeTmp
Run Build Command(s):C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/MSBuild/Current/Bin/MSBuild.exe cmTC_ce8fa.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=16.0 /v:m && Microsoft (R) Build Engine version 16.4.0+e901037fe for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
Microsoft (R) C/C++ Optimizing Compiler Version 19.24.28319 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
Program
cl /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_ce8fa.dir\Debug\\" /Fd"cmTC_ce8fa.dir\Debug\vc142.pdb" /Gd /TP /errorReport:queue C:/Program Files/Git/MD C:\dev\projects\camshare\microservices\templates\microservice_cpp\build\CMakeFiles\CMakeTmp\testCXXCompiler.cxx
c1xx : fatal error C1083: Cannot open source file: 'C:/Program': No such file or directory [C:\dev\projects\camshare\microservices\templates\microservice_cpp\build\CMakeFiles\CMakeTmp\cmTC_ce8fa.vcxproj]
MD
c1xx : fatal error C1083: Cannot open source file: 'Files/Git/MD': No such file or directory [C:\dev\projects\camshare\microservices\templates\microservice_cpp\build\CMakeFiles\CMakeTmp\cmTC_ce8fa.vcxproj]
testCXXCompiler.cxx
Generating Code...
CMake will not be able to correctly generate this project.
如果我试着用windows cmd做同样的事情,一切都很好。你能解释一下问题出在哪里,我如何解决它吗?看起来编译器标志添加错误(命令行上的奇怪文件/Git/MD)。我还尝试了`cxflags=“/MD”cmake..”并得到了相同的结果。问题在于git bash中的前斜杠混乱,很容易找到解决方案。结束问题