jac*_*ack 7 c++ static-libraries static-linking
我正在开发一个将添加类型的工厂,但是,如果该类没有在执行的.exe中明确地被编程(编译时),那么该类型不会添加到工厂中.这是因为静态调用是如何不进行的.有没有人对如何解决这个问题有任何建议?下面是我放入lib的五个非常小的文件,然后一个.exe将调用这个lib.如果有任何关于如何使其工作的建议,或者可能是更好的设计模式,请告诉我.这基本上就是我要找的东西
1)可以采用类型的工厂
2)自动注册进入类.cpp文件,任何和所有注册码都应该在类.cpp中(对于下面的示例,RandomClass.cpp)而没有其他文件.
BaseClass.h:http://codepad.org/zGRZvIZf
RandomClass.h:http://codepad.org/rqIZ1atp
RandomClass.cpp:http://codepad.org/WqnQDWQd
TemplateFactory.h:http://codepad.org/94YfusgC
TemplateFactory.cpp:http://codepad.org/Hc2tSfzZ
当您与静态库链接时,实际上是从中提取目标文件,这些目标文件提供当前使用但未定义的符号.在您使用的模式中,可能没有由目标文件提供的未定义符号,该文件包含触发注册的静态变量.
解决方案:
| 归档时间: |
|
| 查看次数: |
6465 次 |
| 最近记录: |