我正在使用可以构建为共享库或静态库的 C++ 库。该库使用工厂技术,其中静态对象在程序启动并创建静态对象时注册自己。
只要使用共享库,它就可以正常工作。当使用静态版本时,没有任何静态对象包含在最终程序中(因为它们没有被直接引用),因此它们的功能不可用。
有没有办法在链接时强制 gcc 包含库中的所有静态对象?
该库是开源的,如果有帮助,我可以对其进行修改。
我正在使用可以构建为共享库或静态库的 C++ 库。该库使用工厂技术,其中静态对象在程序启动并创建静态对象时注册自己。
只要使用共享库,它就可以正常工作。当使用静态版本时,没有任何静态对象包含在最终程序中(因为它们没有被直接引用),因此它们的功能不可用。
有没有办法在链接时强制 gcc 包含库中的所有静态对象?
该库是开源的,如果有帮助,我可以对其进行修改。