我认为默认配置类型可以像这样描述:
Debug : w/ debug symbols, w/o optimization
Release : w/o debug symbols, w/ optimization
RelWithDebInfo : w/ debug symbols, w/ optimization
MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
Run Code Online (Sandbox Code Playgroud)
但我需要新的:
MyConf : w/o debug symbols, w/o optimization
Run Code Online (Sandbox Code Playgroud)
那么,如何创建呢?
小智 6
根据gcc/clang编译器(CMake 3.4.1)配置:
-g-O3 -DNDEBUG-O2 -g -DNDEBUG-Os -DNDEBUG它的意思是:
Run Code Online (Sandbox Code Playgroud)+---------------+--------------+--------------+----------+ | | optimization | assert works | stripped | +---------------+--------------+--------------+----------| | Debug | no | yes | no | | Release | full | no | yes | | RelWithDebInfo| good | no | no | | MinSizeRel | size | no | yes | +---------------+--------------+--------------+----------+
所以,我不同意你的同意MinSizeRel,因为在这种情况下,我认为无论是描述MinSizeRel和Release被剥离.
据我所知,你根本不需要额外的标志(不-g,-O*或-DNDEBUG).对于Makefile类似的发电机:
> cmake -H. -B_builds -DCMAKE_BUILD_TYPE=MyConf -DCMAKE_CXX_FLAGS_MYCONF=""
> cmake --build _builds
Run Code Online (Sandbox Code Playgroud)
对于像Visual Studio这样的生成器,您需要使用CMAKE_CONFIGURATION_TYPES(请参阅此答案):
> cmake -H. -B_builds -DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebInfo;MinSizeRel;MyConf" -DCMAKE_CXX_FLAGS_MYCONF="/Od" -DCMAKE_EXE_LINKER_FLAGS_MYCONF=""
> cmake --build _builds --config MyConf
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1910 次 |
| 最近记录: |