cmake、msbuild、devenv知一二

原创
2022/05/19 18:01
阅读数 531
AI总结

cmake windows c++/c#构建命令
cmake.exe" -DBUILD_COMMON=TRUE -DBUILD_IDE=TRUE -DBUILD_SERVER=TRUE -DBUILD_GRAPH=TRUE -DENABLE_UT=FALSE -DQt5_DIR="C:\Qt\Qt5.14.0\5.14.0\msvc2017_64\lib\cmake\Qt5" -G "Visual Studio 16 2019" -A x64 -S ./ -B ./build 
dotnet restore InoSCADA.sln 
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv" "InoSCADA.sln" /Build "Debug|x64" 

--------devenv
devenv是VisualStudio的可执行程序,一般安装在“C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE”下。用来在命令行或GUI方式运行VisualStudio。其中devenv.com是命令行程序,devenv.exe是GUI的程序。默认地当你调用devenv的时候其实是启动devenv.com,除非你显示地调用devenv.exe才会启动GUI的VisualStudio。

devenv d:\Build\MyProject\Src\MyProject.sln /Build "Release|Win32"  

--------msbuild
MSBuild
如果你的机器上没有装有VisualStudio,那么可以使用MSBuild来build .sln或project。MSBuild可以通过安装.NETFramework来安装,一般的安装路径为C:\Windows\Microsoft.NET\Framework。其实devenv执行build时候,后台也是调用MSBuild来build的。
微软的一个构建工具 不依赖devenv
MSBuild MyApp.csproj /t:Clean
                     /p:Configuration=Debug;/p:Platform=x86;TargetFrameworkVersion=v3.5
也可选择framework的版本
                     
所以在配置CI使用命令行编译的情况下 选择devenv或者msbuild主要看项目类型
msbuild既然被打包到donet里自然编译c++的项目并不合适

CMake它首先允许开发者编写一种平台无关的 CMakeList.txt 文件来定制整个编译流程,然后再根据目标用户的平台进一步生成所需的本地化 Makefile 和工程文件,如 linux的 Makefile 或 Windows 的 Visual Studio 工程。从而做到“Write once, run everywhere”。

C++/CMake跨平台构建
win下cmake到sln再到msbuild/devenv
linux下cmake到makefile 再到gcc、g++ 有点画蛇添足了

linux makefile项目写一次 舒适到永久
 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
AI总结
返回顶部
顶部