Вопрос Static link .lib cmake

Начинающий
Статус
Оффлайн
Регистрация
28 Сен 2022
Сообщения
11
Реакции[?]
0
Поинты[?]
0
всем привет, у меня есть такой cmake файл, и есть archive.lib но при запуске exe пишет ошибку "система не обраружила archive.dll" хотя я и добавлял archive.lib и убирал его. У кого-то есть решение данной проблемы?
Форматирование (BB-код):
cmake_minimum_required(VERSION 3.12)
project(loader)

# Настройка компилятора
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")

# Настройка основного исполняемого файла
set(SOURCE_FILES main.cpp
        helper.cpp
        helper.h
        md5.h
        md5.cpp
)

add_executable(loader ${SOURCE_FILES})

# Указываем путь к директории с библиотекой libarchive
set(LIBARCHIVE_DIR "путь к archive/")

# Привязываем статическую библиотеку libarchive
target_link_libraries(loader PRIVATE
        ${LIBARCHIVE_DIR}/archive.lib
        -static-libgcc
        -static-libstdc++
        -static
        -lpthread
        -lws2_32
)

# Добавляем библиотеки Winsock
target_link_libraries(loader PRIVATE wsock32 ws2_32 wininet ws2_32)

# Добавляем библиотеки OpenSSL
find_package(OpenSSL REQUIRED)
if(OPENSSL_FOUND)
    include_directories(${OPENSSL_INCLUDE_DIR})
    target_link_libraries(loader PRIVATE ${OPENSSL_LIBRARIES})
endif()

# Устанавливаем свойства для статической линковки
set_target_properties(loader PROPERTIES
        LINK_SEARCH_START_STATIC 1
        LINK_SEARCH_END_STATIC 1
        CMAKE_FIND_LIBRARY_SUFFIXES ".lib"
        CMAKE_EXE_LINKER_FLAGS "-static"
)
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,605
Реакции[?]
607
Поинты[?]
48K
какой компиль используешь?

target_link_libraries не принимает флаги afaik, set(CMAKE_EXE_LINKER_FLAGS "your flags") твой бро
 
Сверху Снизу