编译器
gcc和cl编译器对c++语言的处理有区别,cl假设所有函数都是全局公开的,即使没有引入头文件也可以正常编译,gcc会报错。
gcc可以使用linux提供的api函数,cl不可以。
使用mingw可以保证在linux下和win下代码一致,但mingw中的ld.exe无法处理中文路径。
Qt下使用mingw也有同样问题,无法使用中文路径。
mingw编译的boost库名字比较复杂,比如libboost_atomic-mgw13-mt-d-x64-1_80.a,必须使用find_package来处理。
Clion自带的cmake可能是专为windows准备的,配合mingw有问题,必须要配置为使用ninja。
Clion的find_package使用了自己的make文件,改变了第三方开源包的make过程,再配上它的cmake程序,结果就没法正常工作了。
不知道mingw能不能开发COM程序,比如opc da。
远程调试
和VS一样的远程调试功能,VSCode无此功能。通过在工具链配置中上下移动远程配置,来改变是否使用远程,不如VS直观和方便。
AI编程
受到开源社区支持,可以使用免费的通义灵码。VS只能使用收费的Copolit,而且需要登录github账号,无法使用。
获取
VS社区版是免费的,Clion需要授权。
结论
可以用Clion代替VS,windows下使用cl编译器,linux下使用gcc。