链接国密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()