我正试图在Windows中使用Visual Studio 2017编译一个本地Linux C++应用程序。该应用程序使用WebRtc的声学回声消除(AEC)API来消除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中需要做哪些必要的修改?
P.S: 我已经把pthread头文件、dll和libs手动添加到Visual Studio目录中。