C++ 没有为此文档加载任何符号-显然也没有执行?
我有一个VS2015 C++解决方案,它依赖于运行在CPP中全局代码的代码,因为它执行一些使工厂系统工作的注册。更具体地说:C++ 没有为此文档加载任何符号-显然也没有执行?,c++,visual-studio-2015,C++,Visual Studio 2015,我有一个VS2015 C++解决方案,它依赖于运行在CPP中全局代码的代码,因为它执行一些使工厂系统工作的注册。更具体地说: 实用程序项目是包含factory系统的静态库 CompositeValue项目是一个静态库,其中包含需要注册自身的对象 CompositeValueTest项目是运行我的单元测试的可执行文件 CompositeValueTest引用CompositeValue,后者引用实用程序 还有其他几对库使用与CompositeValue和CompositeValueTest相同的
- 实用程序项目是包含factory系统的静态库
- CompositeValue项目是一个静态库,其中包含需要注册自身的对象
- CompositeValueTest项目是运行我的单元测试的可执行文件
- CompositeValueTest引用CompositeValue,后者引用实用程序
- 还有其他几对库使用与CompositeValue和CompositeValueTest相同的模式,它们都可以工作李>
我的问题似乎不是没有加载符号,而是根本没有包含文件——但当我检查生成输出时,它确实报告正在生成(如果引入错误,生成将失败)。如果可执行文件没有明确引用特定obj文件中的任何内容,链接器将丢弃整个文件、全局初始值设定项和所有文件。因此,神奇的构建时自注册方案很难实现。将CompositeValue设置为
dll
而不是静态库,自注册应该可以实现。