170 похожих чатов

Здравствуйте, mingw выдаёт ошибки, вот одни из них: ``` D:/Programs/MSYS2/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/OpenSSL/MinGW static/lib64/libcrypto.a(libcrypto-lib-bss_conn.obj):bss_conn.c:(.text+0x5c4):

undefined reference
to `__imp_WSAGetLastError'
D:/Programs/MSYS2/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/OpenSSL/MinGW static/lib64/libcrypto.a(libdefault-lib-winstore_store.obj):winstore_store:(.text+0x137): undefined reference to `__imp_CertOpenSystemStoreW'
я указал в cmake
target_link_libraries(${PROJECT_NAME} ws2_32)
target_link_libraries(${PROJECT_NAME} crypt32)
```
но, всё равно выдаёт ошибки. msvc нормально линкует. до этого была проблема в том, что у меня были собраны библиотеки openssl с помощью visual studio, пересобрал с помощью mingw64, библиотеки теперь .a, но выдаёт ошибки линкера, которые обычно возникают, если не указать в зависимостях ws2_32 и crypt32. как мне с помощью mingw64 это собрать?

19 ответов

29 просмотров

Явно линкер не нашёл определение какого-то символа, надо библиотеку линковать.

Bergemon- Автор вопроса
Дмитрий 🎮
Явно линкер не нашёл определение какого-то символа...

я указал в cmake target_link_libraries(${PROJECT_NAME} ws2_32) target_link_libraries(${PROJECT_NAME} crypt32) msvc нормально линкуется с ними

Bergemon
я указал в cmake target_link_libraries(${PROJECT_N...

А какое расширение у библиотеки? Допустим, у тебя есть библиотека MyLib. Для msvc он будет искать фалй с расширением dll или lib + def. Mingw будет искать libMyLib.so или libMyLib.a.

Bergemon- Автор вопроса
Дмитрий 🎮
А какое расширение у библиотеки? Допустим, у тебя...

это виндовые библиотеки, .dll вроде они должны быть

Bergemon
это виндовые библиотеки, .dll вроде они должны быт...

Тогда укажи линкеру библиотеку с конкретным расширением. Вместо -lMyLib укажи -lMyLib.dll. Библиотеки mingw и msvc имеют разный формат, учити это.

Bergemon
это виндовые библиотеки, .dll вроде они должны быт...

у MS существует такая вещь как import library и она .lib как это не странно. Что там наворотили авторы mingw Надо спрашивать уних

Bergemon- Автор вопроса
Дмитрий 🎮
Тогда укажи линкеру библиотеку с конкретным расшир...

уже понял сегодня, столкнулся, пересобрал openssl с помощью mingw как писал раньше, в другом тг канале помогли

Bergemon
я указал в cmake target_link_libraries(${PROJECT_N...

https://ru.stackoverflow.com/questions/1330622/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0-%D0%BF%D1%80%D0%B8-%D0%BB%D0%B8%D0%BD%D0%BA%D0%BE%D0%B2%D0%BA%D0%B5-winsock2-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-cmake-%D0%B2-mingw-undefined-reference

Bergemon
я указал в cmake target_link_libraries(${PROJECT_N...

И ещё https://stackoverflow.com/a/2033632 Учти, порядок перечисления библиотек важен.

Bergemon- Автор вопроса
Александр Водянников
https://ru.stackoverflow.com/questions/1330622/%D0...

лол, он есть на русском, спасибо большое!

Bergemon- Автор вопроса

здесь в точности тоже самое, что использую я и причём с msvc это работает

Bergemon
здесь в точности тоже самое, что использую я и при...

Попробуй список библиотек заключить в такую конструкцию: -Wl,--start-group -lLib1 -lLib2 -Wl,--end-group И не будет у тебя проблем с порядком перечисления библиотек.

Bergemon- Автор вопроса
Дмитрий 🎮
Попробуй список библиотек заключить в такую констр...

я не знаю как передать флаги компилятору из смейка

Bergemon- Автор вопроса
Bergemon
я не знаю как передать флаги компилятору из смейка

set(CMAKE_CXX_FLAGS тут флаги например- Wall ) еще есть вот такие варианты add_compile_options( тут тоже можно разные флаги -stdlib=libc++ -fcoroutines-ts -lpthread указаны для примера), link_libraries(-lmingw32 -lmingwex -lkernel32 )

Bergemon
я не знаю как передать флаги компилятору из смейка

Нашёл, как это можно сделать: https://stackoverflow.com/a/73641444 А ещё я кратко описал эту проблему, её симптомы, причины и решение.

Bergemon- Автор вопроса

Похожие вопросы

Обсуждают сегодня

зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
8
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Можно попросить небольшое ревью кода? Тут немнога, я ничего интереснее не придумал, чем написать аналог tree в качестве практики с cmake. https://github.com/hrimov/tree-unix/...
Andrew Hrimov
11
Всем привет. Ребят подскажите пожалуйста. Вопрос по дизасемблировани. Начну с начала. У меня есть скомпилированная программа на ГО (я разработчик) - в ней есть защита лицензии...
Zloy
11
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Но если Евгений и Алекс используют в боевых условиях, то почему нет? А ты как-то про бизнес больше задвигаешь, это имеет к разработке отношение, но все же этим больше другие л...
Keiman
4
Карта сайта