-
Автор темы
- #1
всем привет, у меня есть такой 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"
)