我正在对Apache ActiveMQ CMS库进行一些更改(一个潜在的错误修复)。我修复了错误并在调试模式下测试了它。现在我想让它的发布dll添加到我的项目中。当我尝试使用Release-DLL配置进行构建时,出现以下错误:
DiscoveryTransport.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall activemq::util::Suspendable::~Suspendable(void)" (??1Suspendable@util@activemq@@UAE@XZ)
.lib和.exp文件正在成功创建。请注意以下调查结果:
请考虑以下配置:
平台工具集:visual studio 2008 (v90)
[我的构建需要]
配置类型:Dynamic Library (.dll)
整个计划优化:Use Link Time Code Generation
*尝试No Whole Program Optimization
但没有运气
字符集:Not Set
*,与调试和发布配置相同
C / C ++>>一般>>调试信息格式:Program Database (/Zi)
C / C ++>>优化:Maximize Speed (/O2)
C / C ++>>代码生成>>运行时库:Multi-threaded DLL (/MD)
*尝试使用(/ MDd)但没有运气
C / C ++>>预编译标题:Not using precompiled headers
C / C ++>>高级>>致电公约:__cdecl (/Gd)
链接器>>输入:添加libapr-1.lib
,因为它依赖于Apache Runtime
链接器>>调试>>生成调试信息:Yes (/DEBUG)
链接器>>系统>>子系统:Windows (/SUBSYSTEM:WINDOWS)
链接器>>高级>>目标机器:MachineX86 (/MACHINE:X86)
链接器>>高级>>错误报告:PromptImmediately (/ERRORREPORT:PROMPT)
包含和lib的路径在调试和发布配置中使用正确
我使用的是Visual Studio 2010 Express Edition
我更改的代码与DiscoveryTransport
类无关。两天以来我一直在尝试。任何帮助/建议将受到高度赞赏。
此致