cmake_list中的link openssl静态
Link OpenSSL statically in cmake_list
我正在编码用于教育目的的加密程序。我正在使用OpenSSL作为加密库。问题在于,我想生成一个可以在没有安装的无需安装的系统上运行的可执行文件。因此,我需要静态地链接OpenSSL。我正在使用cmake_list进行构建。
一旦添加标志OPENSSL_USE_STATIC_LIBS
TRUE
,我就会获得链接错误...我尝试过从源构建OpenSSL并将其传递到Find_package命令,但这仍然给我所有OpenSSL标题的链接器错误。
'''c++
cmake_minimum_required(VERSION 3.13)
project(encryption_test)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(OPENSSL_ROOT_DIR /usr/local/ssl)
set(OPENSSL_USE_STATIC_LIBS TRUE)
find_package(OpenSSL REQUIRED)
include_directories(
include/)
add_executable(${PROJECT_NAME}
src/main.cpp)
target_link_libraries(${PROJECT_NAME}
stdc++fs
OpenSSL::SSL)
'''
错误就像:
undefined reference to 'pthread_rwlock_init'
非常感谢您的帮助或想法,我如何解决此问题!
我实际上解决了问题cmake
中openssl加密的静态链接提示target_link_libraries(program ${CMAKE_DL_LIBS})
解决了我的链接问题,以防其他任何人挣扎。
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- #为""定义宏;静态";针对不同的上下文
- 如何在openssl-ecc中获取十六进制格式的私钥
- cmake如何在fedora工作站中找到boost静态库包
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 将公共但非静态的成员函数与ALGLIB集成
- cmake在我的项目中所需的所有静态库都不成功
- C++从另一个类访问公共静态向量的正确方法是什么
- 静态编译的Qt 5.13.1与OpenSSL 1.1.1d生成QSslSocket::connectToHostEncr
- 使用 openssl 构建静态二进制文件的正确方法是什么?
- OpenSSL AES仅适用于某些计算机,即使具有静态链接也是如此
- cmake_list中的link openssl静态
- 代码中的MinGW::块不链接静态OpenSSL库
- 从源代码构建Qt静态,启用OpenSSL支持
- 在视觉C++ malloc 警告中静态链接 openssl
- QT https SSL支持静态QT静态程序构建 - 仍然需要openssl dll
- 在CMake中静态链接OpenSSL加密库
- 编译带有 openSSL 错误的静态 Qt
- 如何在C/C++中使用OpenSSL的静态链接