【问题标题】:CMake Error at C:/Program Files/CMake/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message)C:/Program Files/CMake/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 处的 CMake 错误(消息)
【发布时间】:2020-03-14 16:25:21
【问题描述】:
我正在尝试使用 cmake 为 YOLO V3 编译暗网。但我收到以下错误:
C:/Program 处的 CMake 错误
文件/CMake/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146
(消息):找不到 PThreads_windows(缺少:
PThreads_windows_LIBRARY PThreads_windows_INCLUDE_DIR) 调用堆栈
(最近的呼叫优先):C:/Program
文件/CMake/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393
(_FPHSA_FAILURE_MESSAGE) cmake/Modules/FindPThreads_windows.cmake:39
(find_package_handle_standard_args)
C:/Users/MSI/vcpkg/scripts/buildsystems/vcpkg.cmake:288
(_find_package) CMakeLists.txt:93 (find_package)
我该如何解决这个问题?
【问题讨论】:
标签:
yolo
cmake-gui
darknet
【解决方案1】:
您已将 CMAKE_TOOLCHAIN_FILE 定义为 vcpkg。如果定义了这个变量,暗网默认会认为你已经在 vcpkg 中配置了 pthread_window(它发生在 CMakeLists.txt 中大约 30 ~ 40 行),但实际上你没有。
所以你需要更换
if(WIN32 AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
set(USE_INTEGRATED_LIBS "TRUE" CACHE BOOL "Use libs distributed with this repo")
else()
set(USE_INTEGRATED_LIBS "FALSE" CACHE BOOL "Use libs distributed with this repo")
endif()
通过
set(USE_INTEGRATED_LIBS "TRUE" CACHE BOOL "Use libs distributed with this repo")
它将允许暗网在根目录中使用自己的 3rdparty pthreads。