【发布时间】:2014-12-29 13:00:16
【问题描述】:
我下载了“curl 库”用于第三方应用程序。当我运行包含的 cmake 文件时,出现以下错误。请帮我。我很感激:
> The C compiler identification is MSVC 18.0.30501.0
> The CXX compiler identification is MSVC 18.0.30501.0
> Check for working C compiler using: Visual Studio 12 2013
> Check for working C compiler using: Visual Studio 12 2013 -- works
> Detecting C compiler ABI info
> Detecting C compiler ABI info - done
> Check for working CXX compiler using: Visual Studio 12 2013
> Check for working CXX compiler using: Visual Studio 12 2013 -- works
> Detecting CXX compiler ABI info
> Detecting CXX compiler ABI info - done
> Could NOT find CURL (missing: CURL_LIBRARY) (found version "7.38.0")
> CMake Error at CMakeLists.txt:49 (MESSAGE):
> Could not find the CURL library and development files.
>
> Configuring incomplete, errors occurred!
> See also "C:/BUILD/CMakeFiles/CMakeOutput.log".
我在 Windows 中将“CURL_LIBRARY”的环境变量设置为指向 curl 库文件的安装位置,但 cmake 仍然无法找到它,即使它表明在我的系统上检测到版本 7.38.0。
感谢您的帮助..
编辑: cMakeLists.txt 文件
...
# Look for required libraries
SET(requiredlibs)
FIND_PACKAGE(CURL)
IF(CURL_FOUND)
INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR})
SET(requiredlibs ${requiredlibs} ${CURL_LIBRARIES} )
ELSE(CURL_FOUND)
MESSAGE(FATAL_ERROR "Could not find the CURL library and development files.")
ENDIF(CURL_FOUND)
...
我在 Windows 环境变量中设置了 include 和 lib 目录,但没有改变。
编辑: 这是完整的项目文件:cmake project。
【问题讨论】:
-
可能需要特定版本,而 7.38.0 是新版本。由于潜在的不兼容,许多项目不接受太新的版本。查看发行说明或 cmake 文件是否可以确定它是否查找特定版本范围。
-
展示你的
CMakeLists.txt,尤其是带有find_package的部分 -
@Oncaphillis:没有关于版本范围的信息。 curl 站点也不提供可下载的较低版本。
-
看看
FindCURL.cmake模块:它没有使用任何$ENV!那么,您为什么认为它应该检查您的环境? -
FindCURL.cmake使用“纯”find_library()来获取库。所以请阅读 [documentation](file:///usr/share/doc/cmake/command/find_library.html) 并尝试通过“标准”环境变量给出适当的提示。
标签: windows curl cmake libcurl