openvpn3
openvpn3 copied to clipboard
Compiling java on windows, linking fails
HI!
I'm on windows, compiling the java interface First I changed client/CMakeLists.txt
add_custom_command(
OUTPUT ovpncli_wrap.cxx ovpncli_wrap.h
COMMENT "Generating ovpncli Python swig files"
COMMAND ${SWIG_EXECUTABLE} -c++ -java -package net.vpn.ovpn3 -outcurrentdir -I${CORE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/ovpncli.i
DEPENDS ovpncli.i
)
target_include_directories(ovpnclilib PRIVATE $ENV{JAVA_HOME}/include/)
target_include_directories(ovpnclilib PRIVATE $ENV{JAVA_HOME}/include/win32/)
then
> git clone https://github.com/OpenVPN/openvpn3.git core && cd core
> cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=<path_to_vcpkg>\scripts\buildsystems\vcpkg.cmake -DVCPKG_OVERLAY_PORTS=deps\vcpkg-ports
> cmake --build build --config Release --target ovpncli
compile link error
ovpncli_wrap.obj : error LNK2001: unresolved external symbol "private: virtual void __cdecl openvpn::ClientAPI::OpenVPNClient::connect_attach(void)" (?connect_attach@OpenVPNClient@ClientAPI@openvpn@@EEAA XXZ) [D:\workspace\openvpn3-win\openvpn3\core\build\client\ovpnclilib.vcxproj] ovpncli_wrap.obj : error LNK2001: unresolved external symbol "private: virtual void __cdecl openvpn::ClientAPI::OpenVPNClient::connect_pre_run(void)" (?connect_pre_run@OpenVPNClient@ClientAPI@openvpn@@EE AAXXZ) [D:\workspace\openvpn3-win\openvpn3\core\build\client\ovpnclilib.vcxproj] ovpncli_wrap.obj : error LNK2001: unresolved external symbol "private: virtual void __cdecl openvpn::ClientAPI::OpenVPNClient::connect_run(void)" (?connect_run@OpenVPNClient@ClientAPI@openvpn@@EEAAXXZ) [ D:\workspace\openvpn3-win\openvpn3\core\build\client\ovpnclilib.vcxproj] ovpncli_wrap.obj : error LNK2001: unresolved external symbol "private: virtual void __cdecl openvpn::ClientAPI::OpenVPNClient::connect_session_stop(void)" (?connect_session_stop@OpenVPNClient@ClientAPI@o penvpn@@EEAAXXZ) [D:\workspace\openvpn3-win\openvpn3\core\build\client\ovpnclilib.vcxproj] ovpncli_wrap.obj : error LNK2001: unresolved external symbol "private: virtual class openvpn::Stop * __cdecl openvpn::ClientAPI::OpenVPNClient::get_async_stop(void)" (?get_async_stop@OpenVPNClient@Client API@openvpn@@EEAAPEAVStop@3@XZ) [D:\workspace\openvpn3-win\openvpn3\core\build\client\ovpnclilib.vcxproj] D:\workspace\openvpn3-win\openvpn3\core\build\client\Debug_ovpncli.dll : fatal error LNK1120: 5 unresolved external commands [D:\workspace\openvpn3-win\openvpn3\core\build\client\ovpnclilib.vcxproj]
5 ports included
virtual void connect_attach();
virtual void connect_pre_run();
virtual void connect_run();
virtual void connect_session_stop();
virtual Stop* get_async_stop();
Modify ovpncli.hpp to compile successfully
//#ifdef SWIGJAVA
// private:
//#else
protected:
//#endif
ubuntu does not need to be modified