Index: src/base/PdfEncrypt.cpp
===================================================================
--- src/base/PdfEncrypt.cpp	(revision 1598)
+++ src/base/PdfEncrypt.cpp	(working copy)
@@ -33,6 +33,7 @@
 #include <string.h>
 #include <sstream>
 
+#ifdef PODOFO_HAVE_OPENSSL
 // SHA-256
 #ifdef PODOFO_HAVE_LIBIDN
 // AES-256 dependencies :
@@ -43,6 +44,7 @@
 
 #include <openssl/md5.h>
 #include <openssl/evp.h>
+#endif
 
 namespace
 {
@@ -65,6 +67,7 @@
 ePdfEncryptAlgorithm_AESV2;
 #endif // PODOFO_HAVE_LIBIDN
 
+#ifdef PODOFO_HAVE_OPENSSL
 // Default value for P (permissions) = no permission
 #define PERMS_DEFAULT 0xFFFFF0C0
 
@@ -1839,4 +1842,36 @@
 }
     
 #endif // PODOFO_HAVE_LIBIDN
+#else  // PODOFO_HAVE_OPENSSL
+PdfEncrypt *
+PdfEncrypt::CreatePdfEncrypt( const std::string & userPassword, 
+                             const std::string & ownerPassword, 
+                             int protection,
+                             EPdfEncryptAlgorithm eAlgorithm, 
+                             EPdfKeyLength eKeyLength )
+{
+	return NULL;
 }
+
+PdfEncrypt* PdfEncrypt::CreatePdfEncrypt( const PdfObject* pObject )
+{
+	return NULL;
+}
+
+PdfEncrypt *
+PdfEncrypt::CreatePdfEncrypt(const PdfEncrypt & rhs )  
+{
+	return NULL;
+}
+
+PdfEncrypt::~PdfEncrypt()
+{
+}
+
+PdfString PdfEncryptMD5Base::GetMD5String( const unsigned char* pBuffer, int nLength )
+{
+    return PdfString();
+}
+
+#endif // PODOFO_HAVE_OPENSSL
+}
Index: src/base/PdfExtension.h
===================================================================
--- src/base/PdfExtension.h	(revision 1598)
+++ src/base/PdfExtension.h	(working copy)
@@ -50,7 +50,7 @@
         
         const std::string& getNamespace() const { return _ns; }
         EPdfVersion getBaseVersion() const { return _baseVersion; }
-        pdf_int16 getLevel() const { return _level; }
+        pdf_int64 getLevel() const { return _level; }
         
     private:
         
Index: src/base/PdfFiltersPrivate.cpp
===================================================================
--- src/base/PdfFiltersPrivate.cpp	(revision 1598)
+++ src/base/PdfFiltersPrivate.cpp	(working copy)
@@ -1164,8 +1164,10 @@
     PODOFO_RAISE_ERROR( ePdfError_UnsupportedFilter );
 }
 
+#ifndef _MSC_VER
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wunused-parameter"
+#endif
 void PdfCCITTFilter::BeginDecodeImpl( const PdfDictionary* pDict )
 { 
 #ifdef DS_CCITT_DEVELOPMENT_CODE
@@ -1222,7 +1224,9 @@
 
 
 }
+#ifndef _MSC_VER
 #pragma GCC diagnostic pop
+#endif
 
 void PdfCCITTFilter::DecodeBlockImpl( const char*, pdf_long )
 {
Index: src/doc/PdfIdentityEncoding.cpp
===================================================================
--- src/doc/PdfIdentityEncoding.cpp	(revision 1598)
+++ src/doc/PdfIdentityEncoding.cpp	(working copy)
@@ -158,7 +158,7 @@
     return buffer;
 }
 
-pdf_utf16be PdfIdentityEncoding::GetUnicodeValue( long  value ) const
+pdf_utf16be PdfIdentityEncoding::GetUnicodeValue( pdf_utf16be  value ) const
 {
     if(m_bToUnicodeIsLoaded)
     {
@@ -169,7 +169,7 @@
         return 0;
 }
     
-long PdfIdentityEncoding::GetCIDValue( pdf_utf16be lUnicodeValue ) const
+pdf_utf16be PdfIdentityEncoding::GetCIDValue( pdf_utf16be lUnicodeValue ) const
 {
     if(m_bToUnicodeIsLoaded)
     {
Index: src/doc/PdfIdentityEncoding.h
===================================================================
--- src/doc/PdfIdentityEncoding.h	(revision 1598)
+++ src/doc/PdfIdentityEncoding.h	(working copy)
@@ -128,7 +128,7 @@
      *
      *  \returns an unicode value
      */
-    pdf_utf16be GetUnicodeValue( long lCharCode ) const;
+    pdf_utf16be GetUnicodeValue( pdf_utf16be lCharCode ) const;
     
     /** Gets the char code from a uniode value
      *
@@ -136,7 +136,7 @@
      *
      *  \returns the character code (i.e. glyph id)
      */
-    long GetCIDValue( pdf_utf16be lUnicodeValue ) const;
+    pdf_utf16be GetCIDValue( pdf_utf16be lUnicodeValue ) const;
  
  private:
     bool    m_bAutoDelete;      ///< If true this encoding is deleted by its font.
Index: src/doc/PdfImage.cpp
===================================================================
--- src/doc/PdfImage.cpp	(revision 1598)
+++ src/doc/PdfImage.cpp	(working copy)
@@ -37,6 +37,7 @@
 
 #include "base/PdfColor.h"
 #include "base/PdfStream.h"
+#include "base/PdfFiltersPrivate.h"
 
 #include <stdio.h>
 #include <wchar.h>
@@ -243,9 +244,10 @@
 }
 
 #ifdef PODOFO_HAVE_JPEG_LIB
-#if !defined(PODOFO_JPEG_RUNTIME_COMPATIBLE)
-void jpeg_memory_src (j_decompress_ptr cinfo, const JOCTET * buffer, size_t bufsize);
-#endif // PODOFO_JPEG_RUNTIME_COMPATIBLE
+// UAR 2014-05-08 get prototype from PdfFiltersPrivate.h
+//#if !defined(PODOFO_JPEG_RUNTIME_COMPATIBLE)
+//void jpeg_memory_src (j_decompress_ptr cinfo, const JOCTET * buffer, size_t bufsize);
+//#endif // PODOFO_JPEG_RUNTIME_COMPATIBLE
 
 extern "C" {
 static void JPegErrorExit(j_common_ptr cinfo)
@@ -373,7 +375,9 @@
 
     jpeg_create_decompress(&cinfo);
 
-    jpeg_mem_src(&cinfo, pData, dwLen);
+	// UAR 2014-05-08: use jpeg_memory_src instead to be independent of new API-function in jpeg 9
+//  jpeg_mem_src(&cinfo, pData, dwLen);
+    jpeg_memory_src(&cinfo, pData, dwLen);
 
     if( jpeg_read_header(&cinfo, TRUE) <= 0 )
     {
Index: src/doc/PdfSigIncMemDocument.cpp
===================================================================
--- src/doc/PdfSigIncMemDocument.cpp	(revision 1598)
+++ src/doc/PdfSigIncMemDocument.cpp	(working copy)
@@ -62,6 +62,9 @@
 #  ifndef XMD_H
 #    define XMD_H
 #  endif
+#  ifdef _WIN32		// Collision between win and jpeg-headers
+#    undef FAR
+#  endif
 #  include "jpeglib.h"
 }
 #endif // PODOFO_HAVE_JPEG_LIB
Index: src/doc/PdfSigIncSignatureField.cpp
===================================================================
--- src/doc/PdfSigIncSignatureField.cpp	(revision 1598)
+++ src/doc/PdfSigIncSignatureField.cpp	(working copy)
@@ -171,6 +171,7 @@
 PdfImage *PdfSigIncSignatureField::CreateSignatureImage(PdfDocument *pParent)
 {
    PdfImage *pPdfImage = NULL;
+#ifdef PODOFO_HAVE_JPEG_LIB
    if(m_ImageFile.GetLength() > 0)
    {
       pPdfImage = new PdfImage(pParent);
@@ -181,8 +182,9 @@
       pPdfImage = new PdfImage(pParent);
       pPdfImage->LoadFromJpegData((unsigned char*)m_pImageData, m_ImageLen); 
    }
-   
-   if(m_Threshold >= 0)
+#endif
+
+   if(pPdfImage != NULL  &&  m_Threshold >= 0)
    {
       pPdfImage->SetImageChromaKeyMask(m_Red, m_Green, m_Blue, m_Threshold);
    }
