动态库链接问题记录

链接国密gmssl

1、链接国密时防止符号表冲突,ukey和程序一个链接动态库一个链接静态库
2、若用源码去跑程序不需要链接接口的库,只需要链接国密库。
3、链接顺序从右到左包含,dl库一般放最后,若出现问题最好是用绝对路径包含(根目录开始)。
例子

project(zdxlz_test C)
set(CMAKE_CXX_STANDARD 17)
aux_source_directory(. DIR_SRCS)
aux_source_directory(../common COMMON)
include_directories(
        ../common
        ../third-Part/openssl/include/openssl
        ../third-Part/gmssl/include/gmssl
)

add_executable(usbKeyTest ${DIR_SRCS} ${COMMON})
#使用到的openssl里使用到的库需要包含,使用dlsym等需要链接dl库用于运行时动态获取
if(WIN32)
    target_link_libraries(usbKeyTest D:\\clionProject\\zdxlz_test\\sdfTest\\lib\\mtoken_gm3000.dll)
else()
    target_link_libraries(usbKeyTest /home/xw/zdxlz_test/third-Part/gmssl/lib/libgm3000.1.0.so dl)
endif()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值