Как статически ссылаться на antlr-runtime.lib без dll

Я пытаюсь статически связать библиотеку времени выполнения C++ ANTLR 4 с программой в 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 ответов

Другие вопросы по тегам