Today, there is a very strange problem: the project used Libcurl, debug can run normally, release every time crashes, broken to curl_easy_perform this line. No useful information is available on the stack, so Google has found that someone has encountered this problem, but has not found an effective solution. It's a bit of a rip-off ...
Also found a strange problem, with the IDE running release version of the program, can run normally, out of the IDE double-click directly run is also a crash, open the project option found Linker->system->minimum Required version is empty, Decisively add 5.01, recompile, run, problem solved.
Then packaged in the test machine run, prompting the lack of Msvcp120d.dll Msvcr120.dll mscrp120.dll various lookup replication missing files, still crashes, remote debugging discovery is still a function curl_easy_perform crash. At this point I found out why I compiled the release version relies on Msvcp120d.dll? Msvcp120d.dll is clearly a debug version of the use of it. Suspect the project may be wrong to use the library, carefully check that SQLite is the debug version, replace it. Bulid run no longer prompts for missing Msvcp120d.dll.
The problem with the crash is solved.
The analysis might be libcurl referencing a function in Msvcp120.dll, and my program Msvcp120d.dll, Mscrp120.dll all imported, in function positioning may be in the Mscrp120.dll in the location, because Msvcp120d.dll also exist, misled the function positioning, and caused by the crash.
Libcurl function Curl_easy_perform The problem of collapse under release