buresu / ndi-python

NewTek NDI Python wrapper
MIT License
133 stars 30 forks source link

Build error on windows #6

Open emanuel12324 opened 3 years ago

emanuel12324 commented 3 years ago

"Error in configuration process, project files may be invalid" CMakeOutput.log contains nothing either. Win 10 x64. CMake v3.20.0-rc1 using the GUI.

Select source downloaded from git, select empty folder as output, click configure, get error.

Edit: also tried in debian with the same error.

emanuel12324 commented 3 years ago

Ok so an update, I now have it getting further along compiling. However the new error is this:

CMake Error at /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137 (message): Could NOT find NDI (missing: NDI_DIR FALSE) Call Stack (most recent call first): /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE) cmake/Modules/FindNDI.cmake:35 (find_package_handle_standard_args) CMakeLists.txt:12 (find_package)

I have the NDI SDK installed and in my /root directory as "NDI"

emanuel12324 commented 3 years ago

Another update: it's very close to compiling. It now finds the NDI sdk and finishes configuring. When I try to build however, I get a lot of errors.

`C:\Users\Emanuel-Old-Laptop\Desktop\test>C:\Users\Emanuel-Old-Laptop\Desktop\cmake-3.20.0-rc1-windows-x86_64\bin\cmake C:\Users\Emanuel-Old-Laptop\Desktop\ndi-python-master -A "Win32" -- Building for: Visual Studio 16 2019 -- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.18363. -- The C compiler identification is MSVC 19.28.29337.0 -- The CXX compiler identification is MSVC 19.28.29337.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - failed -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x86/cl.exe -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x86/cl.exe - works -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x86/cl.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- pybind11 v2.6.1 CMake Warning at lib/pybind11/tools/pybind11Common.cmake:174 (message): USE -DCMAKE_CXX_STANDARD=17 instead of PYBIND11_CPP_STANDARD Call Stack (most recent call first): lib/pybind11/CMakeLists.txt:169 (include)

-- Found PythonInterp: C:/Users/Emanuel-Old-Laptop/AppData/Local/Programs/Python/Python37-32/python.exe (found version "3.7") -- Found PythonLibs: C:/Users/Emanuel-Old-Laptop/AppData/Local/Programs/Python/Python37-32/libs/python37.lib -- Performing Test HAS_MSVC_GL_LTCG -- Performing Test HAS_MSVC_GL_LTCG - Success -- Found NDI: C:/Program Files/NewTek/NDI 4 SDK -- Configuring done -- Generating done -- Build files have been written to: C:/Users/Emanuel-Old-Laptop/Desktop/test

C:\Users\Emanuel-Old-Laptop\Desktop\test>C:\Users\Emanuel-Old-Laptop\Desktop\cmake-3.20.0-rc1-windows-x86_64\bin\cmake --build C:\Users\Emanuel-Old-Laptop\Desktop\test --config Release Microsoft (R) Build Engine version 16.8.3+39993bd9d for .NET Framework Copyright (C) Microsoft Corporation. All rights reserved.

Checking Build System Building Custom Rule C:/Users/Emanuel-Old-Laptop/Desktop/ndi-python-master/CMakeLists.txt main.cpp C:\Users\Emanuel-Old-Laptop\Desktop\ndi-python-master\src\main.cpp(451,41): warning C4996: 'NDIlib_recv_recording_is_su pported': was declared deprecated [C:\Users\Emanuel-Old-Laptop\Desktop\test\NDIlib.vcxproj] C:\Users\Emanuel-Old-Laptop\Desktop\ndi-python-master\src\main.cpp(502,34): warning C4996: 'NDIlib_recv_recording_start ': was declared deprecated [C:\Users\Emanuel-Old-Laptop\Desktop\test\NDIlib.vcxproj] C:\Users\Emanuel-Old-Laptop\Desktop\ndi-python-master\src\main.cpp(505,33): warning C4996: 'NDIlib_recv_recording_stop' : was declared deprecated [C:\Users\Emanuel-Old-Laptop\Desktop\test\NDIlib.vcxproj] C:\Users\Emanuel-Old-Laptop\Desktop\ndi-python-master\src\main.cpp(509,10): warning C4996: 'NDIlib_recv_recording_set_a udio_level': was declared deprecated [C:\Users\Emanuel-Old-Laptop\Desktop\test\NDIlib.vcxproj] C:\Users\Emanuel-Old-Laptop\Desktop\ndi-python-master\src\main.cpp(512,41): warning C4996: 'NDIlib_recv_recording_is_re cording': was declared deprecated [C:\Users\Emanuel-Old-Laptop\Desktop\test\NDIlib.vcxproj] C:\Users\Emanuel-Old-Laptop\Desktop\ndi-python-master\src\main.cpp(515,41): warning C4996: 'NDIlib_recv_recording_get_f ilename': was declared deprecated [C:\Users\Emanuel-Old-Laptop\Desktop\test\NDIlib.vcxproj] C:\Users\Emanuel-Old-Laptop\Desktop\ndi-python-master\src\main.cpp(518,38): warning C4996: 'NDIlib_recv_recording_get_e rror': was declared deprecated [C:\Users\Emanuel-Old-Laptop\Desktop\test\NDIlib.vcxproj] C:\Users\Emanuel-Old-Laptop\Desktop\ndi-python-master\src\main.cpp(527,38): warning C4996: 'NDIlib_recv_recording_get_t imes': was declared deprecated [C:\Users\Emanuel-Old-Laptop\Desktop\test\NDIlib.vcxproj] Creating library C:/Users/Emanuel-Old-Laptop/Desktop/test/Release/NDIlib.lib and object C:/Users/Emanuel-Old-Lapto p/Desktop/test/Release/NDIlib.exp main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_exposure_auto [C:\Users\Emanuel-Old-Laptop\ Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_white_balance_outdoor [C:\Users\Emanuel-Old -Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_capture_v3 [C:\Users\Emanuel-Old-Laptop\Desktop \test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_find_destroy [C:\Users\Emanuel-Old-Laptop\Desktop\te st\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_version [C:\Users\Emanuel-Old-Laptop\Desktop\test\ND Ilib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_send_get_tally [C:\Users\Emanuel-Old-Laptop\Desktop\ test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_focus_speed [C:\Users\Emanuel-Old-Laptop\De sktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_util_audio_from_interleaved_16s_v2 [C:\Users\Emanuel -Old-Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_util_P216_to_V210 [C:\Users\Emanuel-Old-Laptop\Deskt op\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_send_set_failover [C:\Users\Emanuel-Old-Laptop\Deskt op\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_is_supported_CPU [C:\Users\Emanuel-Old-Laptop\Deskto p\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_send_add_connection_metadata [C:\Users\Emanuel-Old-L aptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_routing_change [C:\Users\Emanuel-Old-Laptop\Desktop\ test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_set_tally [C:\Users\Emanuel-Old-Laptop\Desktop\ test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_recording_is_recording [C:\Users\Emanuel-Old-La ptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_recording_get_times [C:\Users\Emanuel-Old-Lapto p\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_recording_is_supported [C:\Users\Emanuel-Old-La ptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_recording_get_filename [C:\Users\Emanuel-Old-La ptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_exposure_manual [C:\Users\Emanuel-Old-Lapto p\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_is_supported [C:\Users\Emanuel-Old-Laptop\D esktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_find_get_current_sources [C:\Users\Emanuel-Old-Lapto p\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_send_send_video_v2 [C:\Users\Emanuel-Old-Laptop\Desk top\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_get_queue [C:\Users\Emanuel-Old-Laptop\Desktop\ test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_free_audio_v2 [C:\Users\Emanuel-Old-Laptop\Desk top\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_send_send_metadata [C:\Users\Emanuel-Old-Laptop\Desk top\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_routing_create [C:\Users\Emanuel-Old-Laptop\Desktop\ test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_store_preset [C:\Users\Emanuel-Old-Laptop\D esktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_free_string [C:\Users\Emanuel-Old-Laptop\Deskto p\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_zoom_speed [C:\Users\Emanuel-Old-Laptop\Des ktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_recording_set_audio_level [C:\Users\Emanuel-Old -Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_util_audio_to_interleaved_16s_v2 [C:\Users\Emanuel-O ld-Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_send_send_audio_v2 [C:\Users\Emanuel-Old-Laptop\Desk top\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_find_wait_for_sources [C:\Users\Emanuel-Old-Laptop\D esktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_send_capture [C:\Users\Emanuel-Old-Laptop\Desktop\te st\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_pan_tilt_speed [C:\Users\Emanuel-Old-Laptop \Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_framesync_free_audio [C:\Users\Emanuel-Old-Laptop\De sktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_focus [C:\Users\Emanuel-Old-Laptop\Desktop\ test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_util_audio_from_interleaved_32f_v2 [C:\Users\Emanuel -Old-Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_send_clear_connection_metadata [C:\Users\Emanuel-Old -Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_util_send_send_audio_interleaved_32f [C:\Users\Emanu el-Old-Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_util_send_send_audio_interleaved_32s [C:\Users\Emanu el-Old-Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_send_send_audio_v3 [C:\Users\Emanuel-Old-Laptop\Desk top\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_util_send_send_audio_interleaved_16s [C:\Users\Emanu el-Old-Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_white_balance_indoor [C:\Users\Emanuel-Old- Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_add_connection_metadata [C:\Users\Emanuel-Old-L aptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_capture_v2 [C:\Users\Emanuel-Old-Laptop\Desktop \test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_recording_start [C:\Users\Emanuel-Old-Laptop\De sktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_free_video_v2 [C:\Users\Emanuel-Old-Laptop\Desk top\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_clear_connection_metadata [C:\Users\Emanuel-Old -Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_white_balance_manual [C:\Users\Emanuel-Old- Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_util_audio_to_interleaved_32f_v2 [C:\Users\Emanuel-O ld-Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_get_performance [C:\Users\Emanuel-Old-Laptop\De sktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_free_audio_v3 [C:\Users\Emanuel-Old-Laptop\Desk top\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_routing_destroy [C:\Users\Emanuel-Old-Laptop\Desktop \test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_recall_preset [C:\Users\Emanuel-Old-Laptop\ Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_util_audio_to_interleaved_32s_v2 [C:\Users\Emanuel-O ld-Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_send_get_source_name [C:\Users\Emanuel-Old-Laptop\De sktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_connect [C:\Users\Emanuel-Old-Laptop\Desktop\te st\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_framesync_destroy [C:\Users\Emanuel-Old-Laptop\Deskt op\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_framesync_free_audio_v2 [C:\Users\Emanuel-Old-Laptop \Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_recording_get_error [C:\Users\Emanuel-Old-Lapto p\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_pan_tilt [C:\Users\Emanuel-Old-Laptop\Deskt op\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_auto_focus [C:\Users\Emanuel-Old-Laptop\Des ktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_send_free_metadata [C:\Users\Emanuel-Old-Laptop\Desk top\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_destroy [C:\Users\Emanuel-Old-Laptop\Desktop\te st\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_get_web_control [C:\Users\Emanuel-Old-Laptop\De sktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_framesync_free_video [C:\Users\Emanuel-Old-Laptop\De sktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_find_create_v2 [C:\Users\Emanuel-Old-Laptop\Desktop\ test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_util_audio_from_interleaved_32s_v2 [C:\Users\Emanuel -Old-Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_framesync_create [C:\Users\Emanuel-Old-Laptop\Deskto p\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_initialize [C:\Users\Emanuel-Old-Laptop\Desktop\test \NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_util_V210_to_P216 [C:\Users\Emanuel-Old-Laptop\Deskt op\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_create_v3 [C:\Users\Emanuel-Old-Laptop\Desktop\ test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_recording_stop [C:\Users\Emanuel-Old-Laptop\Des ktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_framesync_capture_audio_v2 [C:\Users\Emanuel-Old-Lap top\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_send_destroy [C:\Users\Emanuel-Old-Laptop\Desktop\te st\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_routing_clear [C:\Users\Emanuel-Old-Laptop\Desktop\t est\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_white_balance_oneshot [C:\Users\Emanuel-Old -Laptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_framesync_capture_audio [C:\Users\Emanuel-Old-Laptop \Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_free_metadata [C:\Users\Emanuel-Old-Laptop\Desk top\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_send_get_no_connections [C:\Users\Emanuel-Old-Laptop \Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_send_create [C:\Users\Emanuel-Old-Laptop\Desktop\tes t\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_white_balance_auto [C:\Users\Emanuel-Old-La ptop\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_send_metadata [C:\Users\Emanuel-Old-Laptop\Desk top\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_destroy [C:\Users\Emanuel-Old-Laptop\Desktop\test\ND Ilib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_get_no_connections [C:\Users\Emanuel-Old-Laptop \Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_recv_ptz_zoom [C:\Users\Emanuel-Old-Laptop\Desktop\t est\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_send_send_video_async_v2 [C:\Users\Emanuel-Old-Lapto p\Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_framesync_capture_video [C:\Users\Emanuel-Old-Laptop \Desktop\test\NDIlib.vcxproj] main.obj : error LNK2001: unresolved external symbol impNDIlib_framesync_audio_queue_depth [C:\Users\Emanuel-Old-La ptop\Desktop\test\NDIlib.vcxproj] C:\Users\Emanuel-Old-Laptop\Desktop\test\Release\NDIlib.cp37-win32.pyd : fatal error LNK1120: 90 unresolved externals [ C:\Users\Emanuel-Old-Laptop\Desktop\test\NDIlib.vcxproj]`

buresu commented 2 years ago

Hi, sorry for late reply.

According to the logs, there are two problems.

The first problem is NDI SDK cannot be found. ndi-python needs to find NDI SDK directory. On windows, NDI SDK installer automatically sets the environment variable NDI_SDK_DIR, which ndi-python uses. On debian, you can now set NDI_SDK_DIR with the following command.

cmake /path/to/project -DNDI_SDK_DIR=/path/to/ndisdk
cmake --build /path/to/build --config Release

The second problem is wrong build architecture. ndi-python is only supported x64, but you have builded for x86 using the -A "Win32" option. Do you absolutely need for x86 build?