【发布时间】:2022-07-18 15:32:41
【问题描述】:
尝试编译代码(使用 cmake)时,我不断收到此错误:
In file included from /usr/local/include/cpprest/http_client.h:68:
In file included from /usr/local/include/boost/asio/ssl.hpp:18:
In file included from /usr/local/include/boost/asio/ssl/context.hpp:23:
In file included from /usr/local/include/boost/asio/ssl/context_base.hpp:19:
/usr/local/include/boost/asio/ssl/detail/openssl_types.hpp:23:10: fatal error: 'openssl/conf.h' file not found
#include <openssl/conf.h>
^~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [CMakeFiles/httpclient.dir/http_client.cpp.o] Error 1
make[1]: *** [CMakeFiles/httpclient.dir/all] Error 2
make: *** [all] Error 2
我尝试关注这些链接,但没有任何帮助: Fatal Error: 'openssl/conf.h' file not found 和 'openssl/conf.h' file not found error on on MacOS Big Sur 和 'openssl/conf.h' file not found error on MacOS Sierra
以下是我的 cmake :
cmake_minimum_required(VERSION 3.9)
find_package(cpprestsdk REQUIRED)
set (CMAKE_CXX_STANDARD 11)
add_executable(httpclient http_client.cpp)
set(OPENSSL_ROOT_DIR /usr/local/opt/openssl@3)
#set(OPENSSL_LIBRARIES /usr/local/opt/openssl@3/lib)
set(OPENSSL_ROOT_DIR /usr/local/opt/openssl@3/*)
set(OPENSSL_LIBRARIES /usr/local/opt/openssl@3/lib)
include(FindOpenSSL)
target_include_directories(httpclient INTERFACE ${OPENSSL_ROOT_DIR}/include)
target_link_libraries(httpclient PRIVATE cpprestsdk::cpprest
openssl)
我也尝试过设置 LDFLAGS 和 CPPFLAGS,但没有帮助。 还尝试重新安装 boost - 不起作用。
请帮助我了解如何解决此问题。
谢谢!
【问题讨论】:
标签: macos c++11 boost cmake openssl