summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/IceUtil/UUID.cpp14
-rw-r--r--cpp/src/IceUtil/iceutil.dsp4
2 files changed, 16 insertions, 2 deletions
diff --git a/cpp/src/IceUtil/UUID.cpp b/cpp/src/IceUtil/UUID.cpp
index 4c6320a8507..9befbbfbb4a 100644
--- a/cpp/src/IceUtil/UUID.cpp
+++ b/cpp/src/IceUtil/UUID.cpp
@@ -11,6 +11,7 @@
#include <IceUtil/UUID.h>
#ifdef WIN32
+# include <rpc.h>
#else
extern "C" // uuid/uuid.h seems to miss extern "C" declarations.
{
@@ -24,7 +25,19 @@ string
IceUtil::generateUUID()
{
#ifdef WIN32
+
+ UUID uuid;
+ UuidCreate(&uuid);
+
+ unsigned char* str;
+ UuidToString(&uuid, &str);
+
+ string result(reinterpret_cast<char*>(str));
+ RpcStringFree(&str);
+ return result;
+
#else
+
uuid_t uuid;
uuid_generate(uuid);
@@ -32,5 +45,6 @@ IceUtil::generateUUID()
uuid_unparse(uuid, str);
return str;
+
#endif
}
diff --git a/cpp/src/IceUtil/iceutil.dsp b/cpp/src/IceUtil/iceutil.dsp
index 437e4e30b53..8f5501c8ac5 100644
--- a/cpp/src/IceUtil/iceutil.dsp
+++ b/cpp/src/IceUtil/iceutil.dsp
@@ -54,7 +54,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 /nologo /dll /machine:I386 /nodefaultlib /out:"Release/iceutil001.dll"
+# ADD LINK32 rpcrt4.lib /nologo /dll /machine:I386 /nodefaultlib /out:"Release/iceutil001.dll"
# SUBTRACT LINK32 /pdb:none /debug
# Begin Special Build Tool
SOURCE="$(InputPath)"
@@ -86,7 +86,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /dll /debug /machine:I386 /out:"Debug/iceutil001d.dll" /pdbtype:sept
+# ADD LINK32 rpcrt4.lib /nologo /dll /debug /machine:I386 /out:"Debug/iceutil001d.dll" /pdbtype:sept
# SUBTRACT LINK32 /pdb:none /nodefaultlib
# Begin Special Build Tool
SOURCE="$(InputPath)"