1.问题简述
1.1项目中对外调用的接口,使用单例模式提供一个接口。因此在项目里生成静态库libbusiness.a
1.2在main函数里通过单例方法进行接口的一些参数设置。
1.3业务层在使用单例方法获取结果。
出现现象:
1.2初始化的对象和1.3使用的对象不是一个地址,对构造函数进行打印,发现构造函数调用了两次,因此是两个实例。
解决办法:
项目使用的cmake。
在生成可执行程序的位置添加选项如下:set(CMAKE_CXX_FLAGS "-rdynamic")。
具体记录:
set(DEMO_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/main.cc) set(CMAKE_CXX_FLAGS "-rdynamic") add_executable(demo ${DEMO_SRCS})