When I try to build my application in the release configuration, I have no problem but when I try to do that in debug configuration, I get the following error. I am building using Visual Studio 2005. Reading some of the forums on other websites, I think the issue is that iamt.lib was built in the release configuration and one cannot use it in debug configuration build.
iamt.lib(iamt_os_win.obj) : error LNK2019: unresolved external symbol __invalid_parameter_noinfo referenced in function "public: bool __thiscall std::_Tree
What is the solution? Is there an iamtd.lib that is provided? If not,can I build it myself? How?
Are you using the correct version of the library? I guess that you are building this in a multithreaded environment. Depending on the MT/MD flag originally used for compiling your application, you need to use iamt.lib or iamtdyn.lib included in the SDK.
Please refer to Linking with the Intel-Supplied ISV Storage Library for Microsoft Windows* section in the SDK user guide for details on this. Let us know if you still have issues.
Thanks for the reply.
The documentation does not mention which library to include for the /MTd option (Multi-threaded debug).
When I include iamt.lib, I got the following errors
LIBCMT.lib(invarg.obj) : error LNK2005: __initp_misc_invarg already defined in LIBCMTD.lib(invarg.obj)
LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson already defined in LIBCMTD.lib(invarg.obj)
So, I added an option to ignore libcmt.lib. If I do that, then I get the error that I mentioned in the initial post
I checked with SDK team and found that you need to build your own iamtd.lib for using in the debug mode. The source can be found at src/StorageLib folder.