Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cmake 如何创建库的调试和发布版本_Cmake - Fatal编程技术网

Cmake 如何创建库的调试和发布版本

Cmake 如何创建库的调试和发布版本,cmake,Cmake,我正在发布一个库,它将能够安装头文件和.a库以供重用。我希望用户能够链接到lib的发布版本或调试版本,如果他们愿意的话。我知道我可以像中一样使用DEBUG_后缀。我的问题是,用户如何区分这两者?他们仍然会放置target\u link\u libraries(mylib),所以我不知道如何选择调试版本。如果MyLibTargets.cmake正确,他们不会在两者之间指定MyLibTargets.cmake应为目标mylib正确设置IMPORTED\u配置和IMPORTED\u位置。然后Debug

我正在发布一个库,它将能够安装头文件和.a库以供重用。我希望用户能够链接到lib的发布版本或调试版本,如果他们愿意的话。我知道我可以像中一样使用DEBUG_后缀。我的问题是,用户如何区分这两者?他们仍然会放置
target\u link\u libraries(mylib)
,所以我不知道如何选择调试版本。

如果
MyLibTargets.cmake
正确,他们不会在两者之间指定
MyLibTargets.cmake
应为目标
mylib
正确设置
IMPORTED\u配置
IMPORTED\u位置
。然后
Debug
映射到
Debug
位置,
Release
映射到
Release
位置。这是使用多配置生成器的
导出
命令自动完成的。多配置生成器为任何常规库目标选择
Debug
/
Release
库的方式实际上没有什么不同。

mylib
可以是目标名称,也可以是要搜索的库名称。您没有指定您正在交付创建导入目标的文件。因此,用户可能只需要使用他们想要使用的确切库的完整路径,并根据需要在发布/调试之间进行选择。