我正在尝试将ANTLR 4的C ++运行时库静态链接到Windows中的程序。构建是通过CMake完成的。但是,当我运行该程序时,它表示缺少antlr-runtime.dll(我不想将antlr-runtime.dll作为单独的DLL提供)。
以下是CMakeLists.txt的相关行:
add_library(antlr_runtime_lib STATIC IMPORTED)
if(MSVC)
set_target_properties(antlr_runtime_lib PROPERTIES
IMPORTED_LOCATION "$ENV{ANTLR4_LIB_DIR}/antlr4-runtime.lib")
elseif(UNIX)
set_target_properties(antlr_runtime_lib PROPERTIES
IMPORTED_LOCATION "$ENV{ANTLR4_LIB_DIR}/libantlr4-runtime.a")
endif()
target_link_libraries(parser_lib_test antlr_runtime_lib)
在Mac和Linux上它运行正常。另外,我自己构建的静态库在Windows上也很好用,所以我不确定是什么问题。