web-dev-qa-db-ja.com

cmakeでのカールライブラリパスの設定

サードパーティ製アプリケーション用に「カールライブラリ」をダウンロードしました。付属の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のライブラリファイルのインストール場所を指定しましたが、システムでバージョン7.38.0が検出されたことを示していても、cmakeはそれを見つけることができません。

助けてくれてありがとう..

編集: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 dirsを設定しましたが、変更はありません。

編集:これは完全なプロジェクトファイルです cmake project

13
nikk

私は同じ問題に直面し、このSO質問は私の検索の最上位の1つでした。そのため、私が見つけた解決策を提供しています。以下のcmakeは、コードにlibcurlインクルードを使用するのに役立ちました。誰かのために役立つ。

set(CURL_LIBRARY "-lcurl") 
find_package(CURL REQUIRED) 
add_executable (curl-demo convert.cpp)
include_directories(${CURL_INCLUDE_DIR})
target_link_libraries(curl-demo ${CURL_LIBRARIES})
18
miradham