2017-05-31 516 views
1

我想在CMake中爲Visual Studio 2017配置一個項目,並給我錯誤:microhttpd NOT found這是配置它時唯一的問題,我試着將標誌關閉並工作。我包括這兩條線:爲什麼Cmake無法使用include_directories找到該庫?

include_directories(${CMAKE_SOURCE_DIR}/lib) 
include_directories(${CMAKE_SOURCE_DIR}/include) 

我曾在包括microhttpd.h和lib文件夾中的libmicrohttpd.lib。我怎樣才能正確地調整下面的代碼,發現它(在的CMakeLists.txt找到這個庫的一部分):

include_directories(${CMAKE_SOURCE_DIR}/lib) 
include_directories(${CMAKE_SOURCE_DIR}/includes) 

option(MICROHTTPD_REQUIRED "Enable or disable the requirement of microhttp (http deamon)" ON) 
find_library(MHTD NAMES microhttpd) 
if("${MHTD}" STREQUAL "MHTD-NOTFOUND") 
    if(MICROHTTPD_REQUIRED) 
     message(FATAL_ERROR "microhttpd NOT found: use `-DMICROHTTPD_REQUIRED=OFF` to build without http deamon support") 
    else() 
     message(STATUS "microhttpd NOT found: disable http server") 
     add_definitions("-DCONF_NO_HTTPD") 
    endif() 
else() 
    set(LIBS ${LIBS} ${MHTD}) 
endif() 

我是否需要使用其他的功能比include_directories?

回答

1

它應該是:

find_library(MHTD microhttpd "path/to/the/lib") 

第二個參數是庫文件名。第三是圖書館所在的路徑。

+1

我重命名了文件名並添加了一個合適的位置並找到它,謝謝。 – Andy