summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cv2pdb.cpp1
-rw-r--r--src/mspdb.cpp18
2 files changed, 19 insertions, 0 deletions
diff --git a/src/cv2pdb.cpp b/src/cv2pdb.cpp
index 6eb3937..259c277 100644
--- a/src/cv2pdb.cpp
+++ b/src/cv2pdb.cpp
@@ -3049,6 +3049,7 @@ bool CV2PDB::writeSymbols(mspdb::Mod* mod, DWORD* data, int databytes, int prefi
mspdb::vsVersion == 10 ? "cannot add symbols to module, probably msobj100.dll missing"
: mspdb::vsVersion == 11 ? "cannot add symbols to module, probably msobj110.dll missing"
: mspdb::vsVersion == 12 ? "cannot add symbols to module, probably msobj120.dll missing"
+ : mspdb::vsVersion == 14 ? "cannot add symbols to module, probably msobj140.dll missing"
: "cannot add symbols to module, probably msobj80.dll missing");
return true;
}
diff --git a/src/mspdb.cpp b/src/mspdb.cpp
index d951940..f95457c 100644
--- a/src/mspdb.cpp
+++ b/src/mspdb.cpp
@@ -17,6 +17,7 @@ char* mspdb80_dll = "mspdb80.dll";
char* mspdb100_dll = "mspdb100.dll";
char* mspdb110_dll = "mspdb110.dll";
char* mspdb120_dll = "mspdb120.dll";
+char* mspdb140_dll = "mspdb140.dll";
// char* mspdb110shell_dll = "mspdbst.dll"; // the VS 2012 Shell uses this file instead of mspdb110.dll, but is missing mspdbsrv.exe
int mspdb::vsVersion = 8;
@@ -134,6 +135,21 @@ void tryLoadMsPdb120(bool throughPath)
}
}
+void tryLoadMsPdb140(bool throughPath)
+{
+ if (!modMsPdb)
+ {
+ if(throughPath)
+ modMsPdb = LoadLibraryA(mspdb140_dll);
+ if (!modMsPdb && !throughPath)
+ tryLoadMsPdb("VisualStudio\\14.0", mspdb140_dll, "..\\..\\VC\\bin\\");
+ if (!modMsPdb && !throughPath)
+ tryLoadMsPdb("VSWinExpress\\14.0", mspdb140_dll, "..\\..\\VC\\bin\\");
+ if (modMsPdb)
+ mspdb::vsVersion = 14;
+ }
+}
+
bool initMsPdb()
{
#if 0 // might cause problems when combining VS Shell 2010 with VS 2008 or similar
@@ -149,11 +165,13 @@ bool initMsPdb()
#endif
// try loading through the PATH first to best match current setup
+ tryLoadMsPdb140(true);
tryLoadMsPdb120(true);
tryLoadMsPdb110(true);
tryLoadMsPdb100(true);
tryLoadMsPdb80(true);
+ tryLoadMsPdb140(false);
tryLoadMsPdb120(false);
tryLoadMsPdb110(false);
tryLoadMsPdb100(false);