Скомпилированная библиотека msys mingw64: не удалось выполнить процедуру инициализации библиотеки динамической компоновкC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Скомпилированная библиотека msys mingw64: не удалось выполнить процедуру инициализации библиотеки динамической компоновк

Сообщение Anonymous »

Я скомпилировал собственную библиотеку с помощью msys с флагами компиляции -s -fomit-frame-pointer -fno-unwind-tables -fdata-sections -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -fstack-protector -fno -math-errno -Wl,--gc-sections -Wl,--strip-all -Wl,--add-stdcall-alias, а также добавлены target_link_libraries(myapp -static) в CMake< /p>
Все работает нормально, но когда я попытался запустить свою собственную библиотеку на Windows Server 2019 Standard X64, я получил ошибку

Код: Выделить всё

Exception in thread "main" java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: C:\Users\user\Desktop\lib\native.dll: A dynamic link library (DLL) initialization routine failed
at com.basic.app.SyntheticProtectedApplication.main(Unknown Source)
Caused by: java.lang.UnsatisfiedLinkError: C:\Users\user\Desktop\lib\native.dll: A dynamic link library (DLL) initialization routine failed
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:388)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:232)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:174)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2394)
at java.base/java.lang.Runtime.load0(Runtime.java:755)
at java.base/java.lang.System.load(System.java:1953)
at com.basic.app.API$NativeBridge.(API.java:170)
at com.basic.app.API.initialize(API.java:59)
... 1 more
Я пытался проверить, нет ли у меня связанных динамических библиотек.
[img]https://i .sstatic.net/jmoBgbFd.png[/img]

Изображение

Но похоже, что у меня нет внешней библиотеки, приложение «Зависимости» показывает, что все модули загружены правильно. Моя версия GCC:

Код: Выделить всё

$ gcc --version
gcc.exe (Rev3, Built by MSYS2 project) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
В чем здесь может быть проблема? Я хочу, чтобы моя библиотека была совместима со всеми версиями Windows.


Подробнее здесь: https://stackoverflow.com/questions/790 ... tion-routi
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»