Closed ffreality closed 10 months ago
WITH_EVPP should be ON, it is required by the http module.
If I open both BUILD_FOR_MT
and WITH_EVPP
on Windows, I can't build libhv as shared library (DLL). It gives error.
I can build it as static library but Unreal Engine gives same error as my previous post.
I disabled BUILD_FOR_MT
and built it as shared library (DLL) with WITH_EVPP
on, Unreal Engine works but if MT means multithread, this is problematic.
Add precompiled macro HV_STATICLIB if use hv static library. Please refer to FAQ
Hello again,
I added HV_STATICLIB
macro and Unreal Engine opened but when I try to package project as .exe it gave this error.
UATHelper: Packaging (Windows): hv_static.lib(nio.obj) : error LNK2005: hio_close already defined in coremod.lib(hio.obj)
UATHelper: Packaging (Windows): hv_static.lib(nio.obj) : error LNK2005: hio_read already defined in coremod.lib(hio.obj)
After that I tried to integrate shared library. If BUILD_FOR_MT = false, Unreal Engine opens and I can package project.
But when I try to make BUILD_FOR_MT = true, libhv build give this error. Btw. I set OpenSSL 1.1.1t static library paths from CMake.
2> Creating library E:/Github/C++/HTTP/libhv/Builds/Shared_MT/lib/Release/hv.lib and object E:/Github/C++/HTTP/libhv/Builds/Shared_MT/lib/Release/hv.exp
2>LINK : warning LNK4217: symbol '__stdio_common_vsprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libssl.lib(ssl_lib.obj)' in function '_vsnprintf_l'
2>LINK : warning LNK4286: symbol '__stdio_common_vsprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libcrypto.lib(cryptlib.obj)'
2>LINK : warning LNK4286: symbol '__stdio_common_vsprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libcrypto.lib(dso_win32.obj)'
2>LINK : warning LNK4286: symbol '_time64' defined in 'libucrt.lib(time.obj)' is imported by 'libcrypto.lib(drbg_lib.obj)'
2>LINK : warning LNK4286: symbol '_time64' defined in 'libucrt.lib(time.obj)' is imported by 'libcrypto.lib(ct_policy.obj)'
2>LINK : warning LNK4286: symbol '_time64' defined in 'libucrt.lib(time.obj)' is imported by 'libcrypto.lib(ocsp_cl.obj)'
2>LINK : warning LNK4286: symbol '_time64' defined in 'libucrt.lib(time.obj)' is imported by 'libcrypto.lib(x509_vfy.obj)'
2>LINK : warning LNK4286: symbol '_time64' defined in 'libucrt.lib(time.obj)' is imported by 'libcrypto.lib(a_time.obj)'
2>LINK : warning LNK4286: symbol '_time64' defined in 'libucrt.lib(time.obj)' is imported by 'libssl.lib(statem_clnt.obj)'
2>LINK : warning LNK4286: symbol '_time64' defined in 'libucrt.lib(time.obj)' is imported by 'libssl.lib(ssl_asn1.obj)'
2>LINK : warning LNK4286: symbol '_time64' defined in 'libucrt.lib(time.obj)' is imported by 'libssl.lib(extensions_srvr.obj)'
2>LINK : warning LNK4286: symbol '_time64' defined in 'libucrt.lib(time.obj)' is imported by 'libssl.lib(extensions_clnt.obj)'
2>LINK : warning LNK4217: symbol '_time64' defined in 'libucrt.lib(time.obj)' is imported by 'libssl.lib(ssl_lib.obj)' in function 'ssl_update_cache'
2>LINK : warning LNK4286: symbol '_time64' defined in 'libucrt.lib(time.obj)' is imported by 'libssl.lib(ssl_sess.obj)'
2>LINK : warning LNK4286: symbol '_time64' defined in 'libucrt.lib(time.obj)' is imported by 'libssl.lib(statem_srvr.obj)'
2>LINK : warning LNK4286: symbol '_time64' defined in 'libucrt.lib(time.obj)' is imported by 'libssl.lib(s3_lib.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(asn_mime.obj)'
2>LINK : warning LNK4217: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(asn1_gen.obj)' in function 'bitstr_cb'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(loader_file.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(a_strnid.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(store_lib.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(eng_fat.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(v3_cpols.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(v3_pci.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(conf_def.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(v3_utl.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(v3_crld.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(v3_ncons.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(v3_conf.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libssl.lib(d1_srtp.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(by_dir.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(pem_lib.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libcrypto.lib(conf_mod.obj)'
2>LINK : warning LNK4217: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libssl.lib(ssl_rsa.obj)' in function 'SSL_CTX_use_serverinfo_file'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libssl.lib(ssl_ciph.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libssl.lib(ssl3_record.obj)'
2>LINK : warning LNK4286: symbol 'strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'libssl.lib(ssl_conf.obj)'
2>LINK : warning LNK4286: symbol '_errno' defined in 'libucrt.lib(errno.obj)' is imported by 'libcrypto.lib(conf_def.obj)'
2>LINK : warning LNK4217: symbol '_errno' defined in 'libucrt.lib(errno.obj)' is imported by 'libcrypto.lib(loader_file.obj)' in function 'try_decode_PKCS12'
2>LINK : warning LNK4217: symbol '_errno' defined in 'libucrt.lib(errno.obj)' is imported by 'libssl.lib(ssl_cert.obj)' in function 'SSL_add_dir_cert_subjects_to_stack'
2>LINK : warning LNK4286: symbol '_errno' defined in 'libucrt.lib(errno.obj)' is imported by 'libcrypto.lib(bss_file.obj)'
2>LINK : warning LNK4286: symbol '_errno' defined in 'libucrt.lib(errno.obj)' is imported by 'libcrypto.lib(o_dir.obj)'
2>LINK : warning LNK4286: symbol '_errno' defined in 'libucrt.lib(errno.obj)' is imported by 'libcrypto.lib(o_fopen.obj)'
2>LINK : warning LNK4286: symbol 'memmove' defined in 'libvcruntime.lib(memcpy.obj)' is imported by 'libcrypto.lib(curve25519.obj)'
2>LINK : warning LNK4286: symbol 'memmove' defined in 'libvcruntime.lib(memcpy.obj)' is imported by 'libcrypto.lib(bio_b64.obj)'
2>LINK : warning LNK4286: symbol 'memmove' defined in 'libvcruntime.lib(memcpy.obj)' is imported by 'libcrypto.lib(cfb64ede.obj)'
2>LINK : warning LNK4286: symbol 'memmove' defined in 'libvcruntime.lib(memcpy.obj)' is imported by 'libcrypto.lib(wrap128.obj)'
2>LINK : warning LNK4286: symbol 'memmove' defined in 'libvcruntime.lib(memcpy.obj)' is imported by 'libcrypto.lib(dh_key.obj)'
2>LINK : warning LNK4286: symbol 'memmove' defined in 'libvcruntime.lib(memcpy.obj)' is imported by 'libcrypto.lib(conf_def.obj)'
2>LINK : warning LNK4286: symbol 'memmove' defined in 'libvcruntime.lib(memcpy.obj)' is imported by 'libcrypto.lib(e_des3.obj)'
2>LINK : warning LNK4286: symbol 'memmove' defined in 'libvcruntime.lib(memcpy.obj)' is imported by 'libcrypto.lib(srp_vfy.obj)'
2>LINK : warning LNK4217: symbol 'memmove' defined in 'libvcruntime.lib(memcpy.obj)' is imported by 'libcrypto.lib(bss_mem.obj)' in function 'mem_ctrl'
2>LINK : warning LNK4286: symbol 'memmove' defined in 'libvcruntime.lib(memcpy.obj)' is imported by 'libcrypto.lib(cfb_enc.obj)'
2>LINK : warning LNK4217: symbol 'memmove' defined in 'libvcruntime.lib(memcpy.obj)' is imported by 'libssl.lib(rec_layer_s3.obj)' in function 'ssl3_read_n'
2>LINK : warning LNK4286: symbol 'memmove' defined in 'libvcruntime.lib(memcpy.obj)' is imported by 'libssl.lib(ssl3_record_tls13.obj)'
2>LINK : warning LNK4286: symbol 'memmove' defined in 'libvcruntime.lib(memcpy.obj)' is imported by 'libssl.lib(ssl3_record.obj)'
2>LINK : warning LNK4286: symbol 'memmove' defined in 'libvcruntime.lib(memcpy.obj)' is imported by 'libcrypto.lib(stack.obj)'
2>LINK : warning LNK4286: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libcrypto.lib(store_register.obj)'
2>LINK : warning LNK4286: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libcrypto.lib(ui_openssl.obj)'
2>LINK : warning LNK4286: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libcrypto.lib(eng_cnf.obj)'
2>LINK : warning LNK4286: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libcrypto.lib(store_lib.obj)'
2>LINK : warning LNK4286: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libcrypto.lib(v3_info.obj)'
2>LINK : warning LNK4217: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libcrypto.lib(v3_alt.obj)' in function 'GENERAL_NAME_print'
2>LINK : warning LNK4286: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libcrypto.lib(v3_cpols.obj)'
2>LINK : warning LNK4286: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libcrypto.lib(ui_lib.obj)'
2>LINK : warning LNK4286: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libcrypto.lib(conf_ssl.obj)'
2>LINK : warning LNK4286: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libcrypto.lib(b_addr.obj)'
2>LINK : warning LNK4286: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libcrypto.lib(v3_utl.obj)'
2>LINK : warning LNK4286: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libcrypto.lib(ocsp_lib.obj)'
2>LINK : warning LNK4217: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libssl.lib(t1_lib.obj)' in function 'sig_cb'
2>LINK : warning LNK4286: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libssl.lib(d1_srtp.obj)'
2>LINK : warning LNK4286: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libcrypto.lib(bss_file.obj)'
2>LINK : warning LNK4286: symbol 'strchr' defined in 'libvcruntime.lib(strchr.obj)' is imported by 'libcrypto.lib(conf_mod.obj)'
2>LINK : warning LNK4217: symbol 'qsort' defined in 'libucrt.lib(qsort.obj)' is imported by 'libssl.lib(s3_lib.obj)' in function 'ssl_sort_cipher_list'
2>LINK : warning LNK4286: symbol 'qsort' defined in 'libucrt.lib(qsort.obj)' is imported by 'libcrypto.lib(stack.obj)'
2>LINK : warning LNK4286: symbol 'qsort' defined in 'libucrt.lib(qsort.obj)' is imported by 'libcrypto.lib(o_names.obj)'
2>LINK : warning LNK4286: symbol 'qsort' defined in 'libucrt.lib(qsort.obj)' is imported by 'libcrypto.lib(tasn_enc.obj)'
2>LINK : warning LNK4286: symbol 'atoi' defined in 'libucrt.lib(atox.obj)' is imported by 'libcrypto.lib(rsa_pmeth.obj)'
2>LINK : warning LNK4286: symbol 'atoi' defined in 'libucrt.lib(atox.obj)' is imported by 'libcrypto.lib(siphash_pmeth.obj)'
2>LINK : warning LNK4217: symbol 'atoi' defined in 'libucrt.lib(atox.obj)' is imported by 'libssl.lib(ssl_conf.obj)' in function 'cmd_RecordPadding'
2>LINK : warning LNK4286: symbol 'atoi' defined in 'libucrt.lib(atox.obj)' is imported by 'libcrypto.lib(dh_pmeth.obj)'
2>LINK : warning LNK4286: symbol 'atoi' defined in 'libucrt.lib(atox.obj)' is imported by 'libcrypto.lib(dsa_pmeth.obj)'
2>LINK : warning LNK4286: symbol 'atoi' defined in 'libucrt.lib(atox.obj)' is imported by 'libcrypto.lib(ec_pmeth.obj)'
2>LINK : warning LNK4286: symbol '_stricmp' defined in 'libucrt.lib(stricmp.obj)' is imported by 'libcrypto.lib(store_lib.obj)'
2>LINK : warning LNK4217: symbol '_stricmp' defined in 'libucrt.lib(stricmp.obj)' is imported by 'libssl.lib(ssl_conf.obj)' in function 'cmd_ECDHParameters'
2>LINK : warning LNK4286: symbol '_stricmp' defined in 'libucrt.lib(stricmp.obj)' is imported by 'libcrypto.lib(o_names.obj)'
2>LINK : warning LNK4286: symbol '_stricmp' defined in 'libucrt.lib(stricmp.obj)' is imported by 'libcrypto.lib(v3_tlsf.obj)'
2>LINK : warning LNK4286: symbol '_stricmp' defined in 'libucrt.lib(stricmp.obj)' is imported by 'libcrypto.lib(conf_def.obj)'
2>LINK : warning LNK4286: symbol '_strnicmp' defined in 'libucrt.lib(strnicmp.obj)' is imported by 'libcrypto.lib(loader_file.obj)'
2>LINK : warning LNK4217: symbol '_strnicmp' defined in 'libucrt.lib(strnicmp.obj)' is imported by 'libssl.lib(ssl_conf.obj)' in function 'ssl_conf_cmd_skip_prefix'
2>LINK : warning LNK4286: symbol '_strnicmp' defined in 'libucrt.lib(strnicmp.obj)' is imported by 'libcrypto.lib(ameth_lib.obj)'
2>LINK : warning LNK4286: symbol '_strnicmp' defined in 'libucrt.lib(strnicmp.obj)' is imported by 'libcrypto.lib(v3_utl.obj)'
2>LINK : warning LNK4286: symbol '_strnicmp' defined in 'libucrt.lib(strnicmp.obj)' is imported by 'libcrypto.lib(tb_asnmth.obj)'
2>LINK : warning LNK4286: symbol 'memchr' defined in 'libvcruntime.lib(memchr.obj)' is imported by 'libcrypto.lib(v3_ncons.obj)'
2>LINK : warning LNK4286: symbol 'memchr' defined in 'libvcruntime.lib(memchr.obj)' is imported by 'libcrypto.lib(ocsp_ht.obj)'
2>LINK : warning LNK4217: symbol 'memchr' defined in 'libvcruntime.lib(memchr.obj)' is imported by 'libssl.lib(extensions_srvr.obj)' in function 'PACKET_contains_zero_byte'
2>LINK : warning LNK4286: symbol 'memchr' defined in 'libvcruntime.lib(memchr.obj)' is imported by 'libcrypto.lib(x509_vpm.obj)'
2>LINK : warning LNK4286: symbol 'memchr' defined in 'libvcruntime.lib(memchr.obj)' is imported by 'libcrypto.lib(pem_lib.obj)'
2>LINK : warning LNK4286: symbol 'memchr' defined in 'libvcruntime.lib(memchr.obj)' is imported by 'libcrypto.lib(v3_utl.obj)'
2>LINK : warning LNK4217: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libcrypto.lib(mem.obj)' in function 'CRYPTO_free'
2>LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libcrypto.lib(o_dir.obj)'
2>LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libcrypto.lib(conf_lib.obj)'
2>LINK : warning LNK4217: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libcrypto.lib(mem.obj)' in function 'CRYPTO_malloc'
2>LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libcrypto.lib(o_dir.obj)'
2>LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libcrypto.lib(conf_lib.obj)'
2>LINK : warning LNK4217: symbol 'realloc' defined in 'libucrt.lib(realloc.obj)' is imported by 'libcrypto.lib(mem.obj)' in function 'CRYPTO_realloc'
2>LINK : warning LNK4217: symbol 'strerror_s' defined in 'libucrt.lib(strerror.obj)' is imported by 'libcrypto.lib(o_str.obj)' in function 'openssl_strerror_r'
2>LINK : warning LNK4217: symbol '_stat64i32' defined in 'libucrt.lib(stat.obj)' is imported by 'libcrypto.lib(by_dir.obj)' in function 'get_cert_by_subject'
2>LINK : warning LNK4286: symbol '_stat64i32' defined in 'libucrt.lib(stat.obj)' is imported by 'libcrypto.lib(conf_def.obj)'
2>LINK : warning LNK4286: symbol '_stat64i32' defined in 'libucrt.lib(stat.obj)' is imported by 'libcrypto.lib(loader_file.obj)'
2>LINK : warning LNK4217: symbol 'fclose' defined in 'libucrt.lib(fclose.obj)' is imported by 'libcrypto.lib(bss_file.obj)' in function 'file_free'
2>LINK : warning LNK4286: symbol 'fclose' defined in 'libucrt.lib(fclose.obj)' is imported by 'libcrypto.lib(ui_openssl.obj)'
2>LINK : warning LNK4217: symbol 'fflush' defined in 'libucrt.lib(fflush.obj)' is imported by 'libcrypto.lib(bss_file.obj)' in function 'file_ctrl'
2>LINK : warning LNK4286: symbol 'fflush' defined in 'libucrt.lib(fflush.obj)' is imported by 'libcrypto.lib(ui_openssl.obj)'
2>LINK : warning LNK4217: symbol '_fileno' defined in 'libucrt.lib(fileno.obj)' is imported by 'libcrypto.lib(bss_file.obj)' in function 'file_ctrl'
2>LINK : warning LNK4217: symbol 'fread' defined in 'libucrt.lib(fread.obj)' is imported by 'libcrypto.lib(bss_file.obj)' in function 'file_read'
2>LINK : warning LNK4217: symbol 'fseek' defined in 'libucrt.lib(fseek.obj)' is imported by 'libcrypto.lib(bss_file.obj)' in function 'file_ctrl'
2>LINK : warning LNK4217: symbol 'ftell' defined in 'libucrt.lib(ftell.obj)' is imported by 'libcrypto.lib(bss_file.obj)' in function 'file_ctrl'
2>LINK : warning LNK4217: symbol 'fwrite' defined in 'libucrt.lib(fwrite.obj)' is imported by 'libcrypto.lib(bss_file.obj)' in function 'file_write'
2>LINK : warning LNK4217: symbol 'fwrite' defined in 'libucrt.lib(fwrite.obj)' is imported by 'libcrypto.lib(a_strex.obj)' in function 'do_buf'
2>LINK : warning LNK4286: symbol 'fwrite' defined in 'libucrt.lib(fwrite.obj)' is imported by 'libcrypto.lib(b_dump.obj)'
2>LINK : warning LNK4217: symbol '_setmode' defined in 'libucrt.lib(setmode.obj)' is imported by 'libcrypto.lib(bss_file.obj)' in function 'file_ctrl'
2>LINK : warning LNK4217: symbol 'strcspn' defined in 'libucrt.lib(strcspn.obj)' is imported by 'libcrypto.lib(pem_lib.obj)' in function 'PEM_get_EVP_CIPHER_INFO'
2>LINK : warning LNK4217: symbol 'strrchr' defined in 'libvcruntime.lib(strrchr.obj)' is imported by 'libcrypto.lib(conf_mod.obj)' in function 'module_find'
2>LINK : warning LNK4286: symbol 'strrchr' defined in 'libvcruntime.lib(strrchr.obj)' is imported by 'libcrypto.lib(b_addr.obj)'
2>LINK : warning LNK4286: symbol 'strrchr' defined in 'libvcruntime.lib(strrchr.obj)' is imported by 'libcrypto.lib(asn_moid.obj)'
2>LINK : warning LNK4217: symbol 'isspace' defined in 'libucrt.lib(_ctype.obj)' is imported by 'libcrypto.lib(conf_mod.obj)' in function 'CONF_parse_list'
2>LINK : warning LNK4217: symbol '_exit' defined in 'libucrt.lib(exit.obj)' is imported by 'libcrypto.lib(cryptlib.obj)' in function 'OPENSSL_die'
2>LINK : warning LNK4217: symbol '__stdio_common_vswprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libcrypto.lib(cryptlib.obj)' in function 'OPENSSL_showfatal'
2>LINK : warning LNK4217: symbol 'raise' defined in 'libucrt.lib(signal.obj)' is imported by 'libcrypto.lib(cryptlib.obj)' in function 'OPENSSL_die'
2>LINK : warning LNK4217: symbol 'getenv' defined in 'libucrt.lib(getenv.obj)' is imported by 'libcrypto.lib(getenv.obj)' in function 'ossl_safe_getenv'
2>LINK : warning LNK4217: symbol '__stdio_common_vsscanf' defined in 'libucrt.lib(input.obj)' is imported by 'libcrypto.lib(v3_utl.obj)' in function '_vsscanf_l'
2>LINK : warning LNK4217: symbol 'strncpy' defined in 'libucrt.lib(strncpy.obj)' is imported by 'libcrypto.lib(x509_obj.obj)' in function 'X509_NAME_oneline'
2>LINK : warning LNK4286: symbol 'strncpy' defined in 'libucrt.lib(strncpy.obj)' is imported by 'libcrypto.lib(evp_key.obj)'
2>LINK : warning LNK4286: symbol 'strncpy' defined in 'libucrt.lib(strncpy.obj)' is imported by 'libcrypto.lib(dso_win32.obj)'
2>LINK : warning LNK4286: symbol 'strtoul' defined in 'libucrt.lib(strtox.obj)' is imported by 'libcrypto.lib(asn_mstbl.obj)'
2>LINK : warning LNK4217: symbol 'strtoul' defined in 'libucrt.lib(strtox.obj)' is imported by 'libcrypto.lib(v3_addr.obj)' in function 'v2i_IPAddrBlocks'
2>LINK : warning LNK4286: symbol 'strtoul' defined in 'libucrt.lib(strtox.obj)' is imported by 'libcrypto.lib(ocsp_ht.obj)'
2>LINK : warning LNK4286: symbol 'strtoul' defined in 'libucrt.lib(strtox.obj)' is imported by 'libcrypto.lib(asn1_gen.obj)'
2>LINK : warning LNK4286: symbol 'strtoul' defined in 'libucrt.lib(strtox.obj)' is imported by 'libcrypto.lib(a_strnid.obj)'
2>LINK : warning LNK4217: symbol '_strdup' defined in 'libucrt.lib(strdup.obj)' is imported by 'libcrypto.lib(conf_lib.obj)' in function 'OPENSSL_INIT_set_config_appname'
2>LINK : warning LNK4286: symbol '_strdup' defined in 'libucrt.lib(strdup.obj)' is imported by 'libcrypto.lib(conf_sap.obj)'
2>LINK : warning LNK4217: symbol '_wfopen' defined in 'libucrt.lib(fopen.obj)' is imported by 'libcrypto.lib(o_fopen.obj)' in function 'openssl_fopen'
2>LINK : warning LNK4217: symbol 'fopen' defined in 'libucrt.lib(fopen.obj)' is imported by 'libcrypto.lib(o_fopen.obj)' in function 'openssl_fopen'
2>LINK : warning LNK4286: symbol 'fopen' defined in 'libucrt.lib(fopen.obj)' is imported by 'libcrypto.lib(ui_openssl.obj)'
2>LINK : warning LNK4217: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libcrypto.lib(eng_openssl.obj)' in function 'openssl_load_privkey'
2>LINK : warning LNK4286: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libcrypto.lib(e_capi.obj)'
2>LINK : warning LNK4217: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libcrypto.lib(ui_openssl.obj)' in function 'read_string_inner'
2>LINK : warning LNK4217: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libcrypto.lib(eng_openssl.obj)' in function '_vfprintf_l'
2>LINK : warning LNK4217: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libcrypto.lib(ui_openssl.obj)' in function 'pushsig'
2>LINK : warning LNK4217: symbol '_gmtime64_s' defined in 'libucrt.lib(gmtime.obj)' is imported by 'libcrypto.lib(o_time.obj)' in function 'OPENSSL_gmtime'
2>LINK : warning LNK4217: symbol 'strtol' defined in 'libucrt.lib(strtox.obj)' is imported by 'libcrypto.lib(v3_tlsf.obj)' in function 'v2i_TLS_FEATURE'
2>LINK : warning LNK4286: symbol 'strtol' defined in 'libucrt.lib(strtox.obj)' is imported by 'libcrypto.lib(eng_ctrl.obj)'
2>LINK : warning LNK4217: symbol 'strstr' defined in 'libvcruntime.lib(strstr.obj)' is imported by 'libcrypto.lib(loader_file.obj)' in function 'file_open'
2>LINK : warning LNK4286: symbol 'strstr' defined in 'libvcruntime.lib(strstr.obj)' is imported by 'libcrypto.lib(dso_win32.obj)'
2>LINK : warning LNK4217: symbol 'fputs' defined in 'libucrt.lib(fputs.obj)' is imported by 'libcrypto.lib(ui_openssl.obj)' in function 'read_string'
2>LINK : warning LNK4217: symbol 'signal' defined in 'libucrt.lib(signal.obj)' is imported by 'libcrypto.lib(ui_openssl.obj)' in function 'popsig'
2>libcrypto.lib(bss_file.obj) : error LNK2019: unresolved external symbol __imp_feof referenced in function file_ctrl
2>libcrypto.lib(ui_openssl.obj) : error LNK2001: unresolved external symbol __imp_feof
2>libcrypto.lib(bss_file.obj) : error LNK2019: unresolved external symbol __imp_ferror referenced in function file_read
2>libcrypto.lib(ui_openssl.obj) : error LNK2001: unresolved external symbol __imp_ferror
2>libcrypto.lib(bss_file.obj) : error LNK2019: unresolved external symbol __imp_fgets referenced in function file_gets
2>libcrypto.lib(ui_openssl.obj) : error LNK2001: unresolved external symbol __imp_fgets
2>libcrypto.lib(pem_lib.obj) : error LNK2019: unresolved external symbol __imp_strspn referenced in function PEM_get_EVP_CIPHER_INFO
2>libcrypto.lib(v3_asid.obj) : error LNK2001: unresolved external symbol __imp_strspn
2>libcrypto.lib(v3_addr.obj) : error LNK2001: unresolved external symbol __imp_strspn
2>libcrypto.lib(cryptlib.obj) : error LNK2019: unresolved external symbol __imp_wcsstr referenced in function OPENSSL_isservice
2>E:\Github\C++\HTTP\libhv\Builds\Shared_MT\bin\Release\hv.dll : fatal error LNK1120: 5 unresolved externals
okay, solved.
I want to build libhv for Windows (cmake and Visual Studio 2022) with these cmake configurations and integrate it to Unreal Engine 5 game engine to create server instances.
I tried both
also included results to my Unreal Plugin. (I know third party library integration and DLL delayed load workflow and I created PDFium, Realsense plugins, before)
But I got these library errors about libhv. When I comment out libhv function, there is no error.
Any suggestion for these ?
FHTTP_Server_libhv_Thread = My Unreal Engine FRunnableThread class. We don't want to block game thread while server working. So, we create a thread and assign it to this class. All functions inside work in their own and single thread.
Callback_HTTP_Start = my starter function like your example's
main