cmake的使用
- cmakelists.txt里头,include_directories后可直接填头文件的文件夹路径。
- add_library后面是自己写的cpp,编译成动态链接库,即dll文件。
- target_link_libraries后面是include的那些库。
.VSCODE文件夹
- c_cpp_properties.json文件能够影响intellisense,也就是编辑器自带的代码补全功能,将代码编译成能运行的exe和它没有关系,那个过程和cmakelists.txt有关系。
- c_cpp_properties.json文件里面有个configurationProvider,如果填写了这一行,则会影响intellisense,并且它默认是最高优先级的,会覆盖"includePath"。这一项由命令
c\c++ change configuration provider
控制。我一开始就是这里被坑了,导致我的vscode的代码补全一直有问题,到处都是红色波浪线,整个人都不好了,这年头,要是没有代码补全,那还写毛线代码? #define _USE_MATH_DEFINES
应该放在第一个include的头文件的前面,也就是代码的最前面,否则不起作用,还是用不了M_PI这样的预定于symbol。
make.exe
- 在windows下编程真的很坑,make命令都没有,查一下才知道,只有mingw32-make.exe,此处建议把mingw32-make.exe原地复制一份,再改名为make.exe,别问我怎么知道的,我被坑惨了。一开始,我听网上的,未经过复制,直接把mingw32-make.exe改名为make.exe,这下命令行里面能用make命令了,但是vscode自带的cmake build命令一直说找不到编译程序也就是not set CMAKE_MAKE_PROGRAM,说它is not set。我弄了好久,猜到可能windows下面,VSCODE的cmake插件本身就会去寻找mingw32-make.exe而不是make.exe,而我的mingw32-make.exe已经不存在了,因此怎么样就是编译不了。后来我复制一份make.exe,改名成mingw32-make.exe,就好了。