小编Joh*_*ice的帖子

提升Asio和OpenSSL 1.1.0

我目前正在开发一个C++ IMAP库,这样我就可以改进一些公认的生锈的C++技能.我想让这个库尽可能便携,以便我可以在OS上使用它,如果我感到疯狂,甚至可能在移动设备上.为此,我做了一些研究并决定使用Boost的Asio库.

我能够让Boost独立构建并运行在我的项目中.我的活动为google.com做了一个简单的HTTP GET.不幸的是,我需要能够使用TLS进行通信,并且我遇到了试图使用Asio的SSL功能的问题.

我使用默认设置从源代码构建了Boost和OpenSSL(所以一切都在/ usr/local中).我也在使用CMAKE来构建我的项目.下面是我的CMAKE文件:

cmake_minimum_required(VERSION 3.2)
project(IMAP)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

message(WARNING "Starting CMAKE...")
set(SOURCE_FILES main.cpp)
add_executable(IMAP ${SOURCE_FILES})

find_package(Boost COMPONENTS system thread regex REQUIRED)
message(WARNING "Boost_INCLUDE_DIR: ${Boost_INCLUDE_DIR}")
message(WARNING "Boost_LIBRARIES: ${Boost_LIBRARIES}")
message(WARNING "Boost_VERSION: ${Boost_VERSION}")
include_directories(${Boost_INCLUDE_DIR})
target_link_libraries(IMAP ${Boost_LIBRARIES})

find_package(OpenSSL REQUIRED)
message(WARNING "OpenSSL_VERSION: ${OPENSSL_VERSION}")
message(WARNING "OpenSSL_INCLUDE_DIR: ${OPENSSL_INCLUDE_DIR}")
message(WARNING "OpenSSL_LIBRARIES: ${OPENSSL_LIBRARIES}")
include_directories(${OPENSSL_INCLUDE_DIR})
target_link_libraries(IMAP ${OPENSSL_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)

这是我的CMAKE消息的输出:

Warning:Starting CMAKE...
Warning:Boost_INCLUDE_DIR: /usr/local/include
Warning:Boost_LIBRARIES: /usr/local/lib/libboost_system.dylib;/usr/local/lib/libboost_thread.dylib;/usr/local/lib/libboost_regex.dylib;/usr/local/lib/libboost_chrono.dylib;/usr/local/lib/libboost_date_time.dylib;/usr/local/lib/libboost_atomic.dylib
Warning:Boost_VERSION: 106100
Warning:OpenSSL_VERSION: 1.1.0
Warning:OpenSSL_INCLUDE_DIR: /usr/local/include
Warning:OpenSSL_LIBRARIES: /usr/local/lib/libssl.dylib;/usr/local/lib/libcrypto.dylib
Run Code Online (Sandbox Code Playgroud)

当我尝试构建项目时,我收到以下一堆错误:

In file included from /path/to/my/code/JMail/IMAP/main.cpp:4:
In file included from /path/to/my/code/JMail/IMAP/IMAPClient.h:6:
In file included …
Run Code Online (Sandbox Code Playgroud)

c++ macos boost openssl cmake

3
推荐指数
1
解决办法
3705
查看次数

标签 统计

boost ×1

c++ ×1

cmake ×1

macos ×1

openssl ×1