I am making some changes in Apache ActiveMQ CMS library (a potential bug fix). I have fixed the bug and tested it in Debug mode. Now I want to make it's release dll to be added in my project. When I try to build using Release-DLL configuration, Following error comes up:
DiscoveryTransport.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall activemq::util::Suspendable::~Suspendable(void)" (??1Suspendable@util@activemq@@UAE@XZ)
.lib and .exp files are being created successfully. Please note following findings:
- It compiles fine in Debug (static lib) and Release (static lib) configurations
Please consider following configurations:
Platform Toolset :
visual studio 2008 (v90)
[Required for my build]Configuration Type:
Dynamic Library (.dll)
Whole Program optimization:
Use Link Time Code Generation
*triedNo Whole Program Optimization
with no luckCharacter Set:
Not Set
*as per in Debug and Release ConfigurationC/C++ >> General >> Debug Information Format:
Program Database (/Zi)
C/C++ >> Optimization:
Maximize Speed (/O2)
C/C++ >> Code Generation >> Run-time Library:
Multi-threaded DLL (/MD)
*Tried with (/MDd) but no luckC/C++ >> Precompiled Headers:
Not using precompiled headers
C/C++ >> Advanced >> Calling Convention:
__cdecl (/Gd)
Linker >> Input: Added
libapr-1.lib
as it has dependency upon Apache RuntimeLinker >> Debugging >> Generate Debug Info:
Yes (/DEBUG)
Linker >> System >> SubSystem:
Windows (/SUBSYSTEM:WINDOWS)
Linker >> Advanced >> Target Machine:
MachineX86 (/MACHINE:X86)
Linker >> Advanced >> Error Reporting:
PromptImmediately (/ERRORREPORT:PROMPT)
Paths to include and lib are correct as being used in Debug and Release Configurations
I am using Visual Studio 2010 Express Edition
The code I changed has nothing to do with DiscoveryTransport
class. I have been trying it since two days. Any help/suggestion would be highly appreciated.
Regards