On 10/10/2011 6:26 PM, Craig Silverstein wrote:
} The other libraries build fine, but pcrecpp doesn't currently build
} with MSVC6. It gets a link error:
}
} error LNK2001: unresolved external symbol __DllMainCRTStartup@12
}
} Anyone know how to fix this?

I have no idea what this means, but isn't MSVC6 uber-old?  I think
it's probably ok to say that the c++ wrapper is only supported from
MSVC 7 onwards.

If you do want to fix it, a quick web search turned up:
    
http://social.msdn.microsoft.com/Forums/en-US/vssmartdevicesnative/thread/a7971494-7983-40f8-ae66-d4711acd0cbe

The second comment has a possible solution.  Does that work for you?

Other threads talk about accidentally defining _ATL_MIN_CRT.  Is that
something that may have been happening in your configuration somehow?
I don't know anything about ATL.

craig



Configuring with CMake gives an option to configure for Visual Studio 6, I don't find any _ATL defines in there.

Your web reference was not for this version but I was able to eliminate the __DllMainCRTStartup@12 error by linking pcrecpp to LIBC.lib. After that, building the test programs reported zero errors but did not create any output exe files. Then I discovered that files with .cc extension were not being recognized as C++ source! Once that was fixed, building the library without linking to LIBC.lib no longer gave the unresolved external symbol error for __DllMainCRTStartup@12. Instead it produced 75 errors (plus 2 warnings). About half are "ambiguous call to overload function" for Arg::Arg.

I guess it would indeed be best to say the C++ wrapper is incompatible with this version.

Regards,
Sheri


--
## List details at https://lists.exim.org/mailman/listinfo/pcre-dev

Reply via email to