Я пытаюсь скомпилировать собственное приложение Linux C ++ в Windows, используя Visual Studio 2017. Приложение использует API-интерфейсы WebRtc Acoustic Echo Cancellation (AEC) для подавления эха в файлах wav.Ниже приведен файл CmakeLists.txt:
cmake_minimum_required(VERSION 2.8)
project(wav-aec)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
add_subdirectory(gflags)
add_definitions("-DWEBRTC_NS_FLOAT -DWEBRTC_WIN -DNOMINMAX")
#-DWEBRTC_UNTRUSTED_DELAY -DWEBRTC_LINUX -DWEBRTC_POSIX
include_directories(
webrtc
webrtc/webrtc/common_audio/signal_processing/include
webrtc/webrtc/modules/audio_coding/codecs/isac/main/include
)
set(WEBRTC_SRC_
base/buffer.cc
base/checks.cc
...
...
#system_wrappers/source/rw_lock_posix.cc
system_wrappers/source/trace_impl.cc
#system_wrappers/source/trace_posix.cc
)
function(prepend_path var prefix)
set(listVar "")
foreach(f ${ARGN})
list(APPEND listVar "${prefix}/${f}")
endforeach(f)
set(${var} "${listVar}" PARENT_SCOPE)
endfunction(prepend_path)
prepend_path(WEBRTC_SRC webrtc/webrtc ${WEBRTC_SRC_})
add_executable(webrtc-audioproc webrtc-audioproc.cpp ${WEBRTC_SRC})
target_link_libraries(webrtc-audioproc gflags pthread)
Когда я пытаюсь его построить, я получаю следующую ошибку: Ошибка: LNK1104 не может открыть файл 'pthread.lib'
Вот ссылка на единственный зависимый от Linux исходный файл (cpp) проекта: https://github.com/lschilli/wav-aec/blob/master/webrtc-audioproc.cpp
Каков будет правильный подход для переноса кода из Linux в Windows?Что Windows эквивалентно gflags и pthread?И какие необходимые изменения нужно внести в CmakeLists.txt?
PS: я уже добавил pthread header, dll и libs в каталог Visual Studio вручную.