如何在没有dll的情况下静态链接到antlr-runtime.lib

时间:2018-04-19 09:35:46

标签: c++ cmake antlr4

我正在尝试将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上也很好用,所以我不确定是什么问题。

0 个答案:

没有答案