title: Issue in installing pysqlcipher3
body: <p>So even though <code>pip install pysqlcipher3</code> worked returned <code>Successfully installed pysqlcipher3</code>, it did not.</p>
  
  <p>From my research, it seems that its a common issue for Windows user trying to install Sqlcipher.</p>
  
  <p><strong>Attempt #1</strong></p>
  
  <p>First, I try to download the pysqlcipher3 from github and build and install it manually via cmd (using <code>python setup.py build</code> and <code>python seetup.py install</code>). </p>
  
  <p>Upon executing <code>python3 setup.py build</code> I got some error (missing few requirements, not having OPENSSL_CONF in environment variable...etc.) but I fix most of them.</p>
  
  <p>However, I end up stuck with this error: </p>
  
  <p><code>fatal error C1083: Cannot open include file: 'sqlcipher/sqlite3.h': No such file or directory</code>.</p>
  
  <p><strong>Attempt #2</strong></p>
  
  <p>I read somewhere (I think) that I have to install the <em>SQLCipher</em> before installing the <em>PySqlCipher3</em>.</p>
  
  <p>Upon checking, I found out that I have to either pay to get a prebuild executable or build it myself.</p>
  
  <p>So I tried to build it myself following <a href="https://github.com/sqlitebrowser/sqlitebrowser/wiki/Win64-setup-%E2%80%94-Compiling-SQLCipher" rel="noreferrer">this tutorial</a>.</p>
  
  <p>After installing all requirements, and following the steps I reach another dead end. In the before-last step (step number 6), when executing <code>nmake /f Makefile.msc</code> I got this error:</p>
  
  <p><code>fatal error C1083: Cannot open include file: 'stdio.h': No such file or directory</code></p>
  
  <hr>
  
  <p>My question are:</p>
  
  <ol>
  <li>I read that I need <code>libsqlcipher</code> which might be the issue. Where can I find it (link to executable preferred).</li>
  <li>How can I solve the issue in my <em>first attempt</em>?</li>
  <li>How can I solve the issue in my <em>second attempt</em>?</li>
  </ol>
  
  <p><strong>My goal:</strong> Is to have pysqlcipher3 installed and working.</p>
  
  <hr>
  
  <p><strong>EDIT 1 - solved Attempt #2 just to reach another issue</strong></p>
  
  <p>So it seems that I was missing some C++ features and tool in Visual Studio. So via Visual Studio Community installer, I download and install basic C++ stuff and it fixed the error.</p>
  
  <p>I got another error which I fix by copying <code>OpenSSL-Win64\include</code> folder to <code>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include</code>.</p>
  
  <p>However, now I am stuck with this error:</p>
  
  <pre><code>sqlite3.c(77701): warning C4389: '!=': signed/unsigned mismatch
      lib.exe /NOLOGO /MACHINE:x64 /OUT:libsqlite3.lib sqlite3.lo 
      echo EXPORTS &gt; sqlcipher.def
      dumpbin /all libsqlite3.lib  | tclsh .\tool\replace.tcl include "^\s+1 _?(sqlite3(?:session|changeset|changegroup|rebaser)?_[^@]*)(?:@\d+)?$" \1  | sort &gt;&gt; sqlcipher.def
      link.exe /DEBUG   /NOLOGO /MACHINE:x64  /DLL /DEF:sqlcipher.def /OUT:sqlcipher.dll sqlite3.lo sqlite3res.lo  
     Creating library sqlcipher.lib and object sqlcipher.exp
  sqlite3.lo : error LNK2019: unresolved external symbol RAND_bytes referenced in function sqlcipher_openssl_random
  sqlite3.lo : error LNK2019: unresolved external symbol RAND_add referenced in function sqlcipher_openssl_add_random
  sqlite3.lo : error LNK2019: unresolved external symbol OBJ_nid2sn referenced in function sqlcipher_openssl_get_cipher
  sqlite3.lo : error LNK2019: unresolved external symbol EVP_MD_size referenced in function sqlcipher_openssl_get_hmac_sz
  sqlite3.lo : error LNK2019: unresolved external symbol EVP_CIPHER_nid referenced in function sqlcipher_openssl_get_cipher
  sqlite3.lo : error LNK2019: unresolved external symbol EVP_CIPHER_block_size referenced in function sqlcipher_openssl_get_block_sz
  sqlite3.lo : error LNK2019: unresolved external symbol EVP_CIPHER_key_length referenced in function sqlcipher_openssl_get_key_sz
  sqlite3.lo : error LNK2019: unresolved external symbol EVP_CIPHER_iv_length referenced in function sqlcipher_openssl_get_iv_sz
  sqlite3.lo : error LNK2019: unresolved external symbol EVP_CipherInit_ex referenced in function sqlcipher_openssl_cipher
  sqlite3.lo : error LNK2019: unresolved external symbol EVP_CipherUpdate referenced in function sqlcipher_openssl_cipher
  sqlite3.lo : error LNK2019: unresolved external symbol EVP_CipherFinal_ex referenced in function sqlcipher_openssl_cipher
  sqlite3.lo : error LNK2019: unresolved external symbol EVP_CIPHER_CTX_new referenced in function sqlcipher_openssl_cipher
  sqlite3.lo : error LNK2019: unresolved external symbol EVP_CIPHER_CTX_free referenced in function sqlcipher_openssl_cipher
  sqlite3.lo : error LNK2019: unresolved external symbol EVP_CIPHER_CTX_set_padding referenced in function sqlcipher_openssl_cipher
  sqlite3.lo : error LNK2019: unresolved external symbol EVP_sha1 referenced in function sqlcipher_openssl_get_hmac_sz
  sqlite3.lo : error LNK2019: unresolved external symbol EVP_sha256 referenced in function sqlcipher_openssl_get_hmac_sz
  sqlite3.lo : error LNK2019: unresolved external symbol EVP_sha512 referenced in function sqlcipher_openssl_get_hmac_sz
  sqlite3.lo : error LNK2019: unresolved external symbol EVP_get_cipherbyname referenced in function sqlcipher_openssl_activate
  sqlite3.lo : error LNK2019: unresolved external symbol PKCS5_PBKDF2_HMAC referenced in function sqlcipher_openssl_kdf
  sqlite3.lo : error LNK2019: unresolved external symbol HMAC_CTX_new referenced in function sqlcipher_openssl_hmac
  sqlite3.lo : error LNK2019: unresolved external symbol HMAC_CTX_free referenced in function sqlcipher_openssl_hmac
  sqlite3.lo : error LNK2019: unresolved external symbol HMAC_Init_ex referenced in function sqlcipher_openssl_hmac
  sqlite3.lo : error LNK2019: unresolved external symbol HMAC_Update referenced in function sqlcipher_openssl_hmac
  sqlite3.lo : error LNK2019: unresolved external symbol HMAC_Final referenced in function sqlcipher_openssl_hmac
  sqlcipher.dll : fatal error LNK1120: 24 unresolved externals
  </code></pre>