提问人:blonded04 提问时间:10/31/2023 最后编辑:blonded04 更新时间:11/2/2023 访问量:53
如何在 CMake 库和 CMake 目标之间共享单例
How can I share a singleton between CMake library and CMake target
问:
我有一个简单的设置,其中 oneAPI TBB 库通过我修改的 CMake 从源代码构建,我使用我编写的一些状态(在库中定义),以及我的小基准测试,我将一些字段设置为通过首次使用习惯的构造构建的单例状态:FetchContent
class state {
// some code
public:
static state& get_state() {
static state instance;
return instance;
}
};
但是,在我的应用程序中,我有 ,而在 TBB 中,我有 ,这对于所有工作线程都是相同的。application state is at 0xaaaae5b30200
worker state is at 0xffffa355d200
在 CMake 库和 CMake 目标之间共享单例的正确方法是什么?
更新:实际上,对我有用的是将 TBB 构建为静态库,但可能有什么问题?
答: 暂无答案
评论
联
意味着您向编译器/链接器承诺可以自由选择任何实现,因为您承诺它们都是相同的)。meyer's singleton accross multiple translation units
get_state