Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compiling java on windows, linking fails #224

Open
vazyme opened this issue Jun 22, 2022 · 1 comment
Open

Compiling java on windows, linking fails #224

vazyme opened this issue Jun 22, 2022 · 1 comment

Comments

@vazyme
Copy link

vazyme commented Jun 22, 2022

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();
@vazyme
Copy link
Author

vazyme commented Jun 22, 2022

Modify ovpncli.hpp to compile successfully

//#ifdef SWIGJAVA
//    private:
//#else
    protected:
//#endif

ubuntu does not need to be modified

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant