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