LibVNC / libvncserver

LibVNCServer/LibVNCClient are cross-platform C libraries that allow you to easily implement VNC server or client functionality in your program.
GNU General Public License v2.0
1.1k stars 482 forks source link

add an example of X11 #503

Closed hubenchang0515 closed 1 year ago

bk138 commented 2 years ago

Thanks for this nice contribution! Please also include it in the CMake build system.

hubenchang0515 commented 2 years ago

added

hubenchang0515 commented 2 years ago

There is no xcb-xtest and xcb-keysyms, I open a pull request for cmake at here

bk138 commented 2 years ago

Alright, but found one more glitch. Here's what I get if I don't have the xcb dev stuff installed.

TL;DR: it seems XCB_KEYSYMS_LIBRARY and XCB_XTEST_LIBRARY are set to NOTFOUND while the others in https://github.com/hubenchang0515/libvncserver/blob/master/CMakeLists.txt#L629 are empty or "".

-- The C compiler identification is GNU 10.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- Found LZO: /usr/lib/x86_64-linux-gnu/liblzo2.so
-- Found XCB: /usr/include  
-- Could NOT find XCB_XTEST (missing: XCB_XTEST_INCLUDE_DIR XCB_XTEST_LIBRARY) 
-- Could NOT find XCB_KEYSYMS (missing: XCB_KEYSYMS_INCLUDE_DIR XCB_KEYSYMS_LIBRARY) 
-- Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (found version "62") 
-- Performing Test FOUND_LIBJPEG_TURBO
-- Performing Test FOUND_LIBJPEG_TURBO - Success
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.6.37") 
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found SDL2: /usr/lib/x86_64-linux-gnu/libSDL2main.a;/usr/lib/x86_64-linux-gnu/libSDL2.so;-lpthread  
-- Found GTK2_GTK: /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so  
-- Found GnuTLS: /usr/lib/x86_64-linux-gnu/libgnutls.so (found version "3.7.1") 
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.1k")  
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") 
-- Checking for module 'libsystemd'
--   No package 'libsystemd' found
-- Found FFMPEG: /usr/include/x86_64-linux-gnu (found suitable version "4.3.3-0+deb11u1", minimum required is "3.1.0") found components: avformat avcodec avutil swscale 
-- Looking for dirent.h
-- Looking for dirent.h - found
-- Looking for endian.h
-- Looking for endian.h - found
-- Looking for fcntl.h
-- Looking for fcntl.h - found
-- Looking for netinet/in.h
-- Looking for netinet/in.h - found
-- Looking for sys/endian.h
-- Looking for sys/endian.h - not found
-- Looking for sys/socket.h
-- Looking for sys/socket.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for sys/wait.h
-- Looking for sys/wait.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for sys/resource.h
-- Looking for sys/resource.h - found
-- Looking for vfork.h
-- Looking for vfork.h - not found
-- Looking for ws2tcpip.h
-- Looking for ws2tcpip.h - not found
-- Looking for arpa/inet.h
-- Looking for arpa/inet.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for vfork
-- Looking for vfork - found
-- Looking for vprintf
-- Looking for vprintf - found
-- Looking for mmap
-- Looking for mmap - found
-- Looking for fork
-- Looking for fork - found
-- Looking for ftime
-- Looking for ftime - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for gethostname
-- Looking for gethostname - found
-- Looking for inet_ntoa
-- Looking for inet_ntoa - found
-- Looking for memmove
-- Looking for memmove - found
-- Looking for memset
-- Looking for memset - found
-- Looking for mkfifo
-- Looking for mkfifo - found
-- Looking for select
-- Looking for select - found
-- Looking for socket
-- Looking for socket - found
-- Looking for strchr
-- Looking for strchr - found
-- Looking for strcspn
-- Looking for strcspn - found
-- Looking for strdup
-- Looking for strdup - found
-- Looking for strerror
-- Looking for strerror - found
-- Looking for strstr
-- Looking for strstr - found
-- Looking for htobe64
-- Looking for htobe64 - found
-- Looking for OSSwapHostToBigInt64
-- Looking for OSSwapHostToBigInt64 - not found
-- Building crypto with Libgcrypt
-- Threads support is using pthreads
-- Check size of pid_t
-- Check size of pid_t - done
-- Check size of size_t
-- Check size of size_t - done
-- Check size of socklen_t
-- Check size of socklen_t - done
-- Check size of in_addr_t
-- Check size of in_addr_t - done
-- Check if the system is big endian
-- Searching 16 bit integer
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Searching 16 bit integer - Using unsigned short
-- Check if the system is big endian - little endian
-- Building with SASL: /usr/lib/x86_64-linux-gnu/libsasl2.so and /usr/include
-- Building TLS with GnuTLS
-- Configuring done
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
XCB_KEYSYMS_LIBRARY
    linked by target "examples_pnmshow" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_example" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_blooptest" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_repeater" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_fontsel" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_camera" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_filetransfer" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_colourmaptest" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_cursors" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_vncev" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_backchannel" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_simple" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_rotate" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_storepasswd" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_regiontest" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_pnmshow24" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_simple15" in directory /home/bk/Projekte/PROGGA/libvncserver
XCB_XTEST_LIBRARY
    linked by target "examples_pnmshow" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_example" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_blooptest" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_repeater" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_fontsel" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_camera" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_filetransfer" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_colourmaptest" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_cursors" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_vncev" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_backchannel" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_simple" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_rotate" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_storepasswd" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_regiontest" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_pnmshow24" in directory /home/bk/Projekte/PROGGA/libvncserver
    linked by target "examples_simple15" in directory /home/bk/Projekte/PROGGA/libvncserver

-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.
bk138 commented 2 years ago

And two functionality issues, but you might simply note this in the source as it's an example anyway:

bk138 commented 1 year ago

@hubenchang0515 are you able to address these comments:

It would still be interesting to have an X11 server in!

hubenchang0515 commented 1 year ago

@hubenchang0515 are you able to address these comments:

It would still be interesting to have an X11 server in!

ok.( I fired my boss and rested for some monthes.

bk138 commented 1 year ago

@hubenchang0515 thanks for the swift reply. Two more things:

Thanks!