MinGW не видит библиотеку в NetBeans - PullRequest
1 голос
/ 07 мая 2020

Я пытаюсь настроить компиляцию проекта в NetBeans.

enter image description here

Я скачал последнюю версию сборки библиотеки с GitHub . Распаковывается в root системного каталога.

enter image description here

В NetBeans указывается путь для хранения каталога "include, bin, lib".

enter image description here

При написании кода IDE вытаскивает необходимые заголовки, и код выглядит правильно, без ошибок. При компиляции в свойствах проекта указывались необходимые ключи: -lallegro_dialog -lallegro_primitives -lallegro

enter image description here

Но почему-то, при компиляции библиотеки не извлекаются и Netbeans выдает ошибки.

enter image description here

cd 'C:\NetBeans\AllegroTest'
C:\MinGW\msys\1.0\bin\make.exe -f Makefile CONF=Debug
"/C/MinGW/msys/1.0/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make.exe[1]: Entering directory `/c/NetBeans/AllegroTest'
"/C/MinGW/msys/1.0/bin/make.exe"  -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/allegrotest.exe
make.exe[2]: Entering directory `/c/NetBeans/AllegroTest'
mkdir -p dist/Debug/MinGW-Windows
gcc -lallegro_dialog -lallegro_primitives -lallegro    -o dist/Debug/MinGW-Windows/allegrotest build/Debug/MinGW-Windows/main.o 
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lallegro_dialog
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lallegro_primitives
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lallegro
collect2.exe: error: ld returned 1 exit status
make.exe[2]: *** [dist/Debug/MinGW-Windows/allegrotest.exe] Error 1
make.exe[2]: Leaving directory `/c/NetBeans/AllegroTest'
make.exe[1]: *** [.build-conf] Error 2
make.exe[1]: Leaving directory `/c/NetBeans/AllegroTest'
make.exe": *** [.build-impl] Error 2

СОБРАТЬ FAILED (значение выхода 2,, общее время: 453ms)

Если я не использую ключи -lallegro_dialog -lallegro_primitives - lallegro затем

cd 'C:\NetBeans\AllegroTest'
C:\MinGW\msys\1.0\bin\make.exe -f Makefile CONF=Debug
"/C/MinGW/msys/1.0/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make.exe[1]: Entering directory `/c/NetBeans/AllegroTest'
"/C/MinGW/msys/1.0/bin/make.exe"  -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/allegrotest.exe
make.exe[2]: Entering directory `/c/NetBeans/AllegroTest'
mkdir -p dist/Debug/MinGW-Windows
gcc     -o dist/Debug/MinGW-Windows/allegrotest build/Debug/MinGW-Windows/main.o 
build/Debug/MinGW-Windows/main.o: In function `main':
C:\NetBeans\AllegroTest/main.c:23: undefined reference to `al_install_system'
C:\NetBeans\AllegroTest/main.c:25: undefined reference to `al_show_native_message_box'
C:\NetBeans\AllegroTest/main.c:30: undefined reference to `al_create_display'
C:\NetBeans\AllegroTest/main.c:34: undefined reference to `al_show_native_message_box'
C:\NetBeans\AllegroTest/main.c:39: undefined reference to `al_init_primitives_addon'
C:\NetBeans\AllegroTest/main.c:40: undefined reference to `al_install_keyboard'
C:\NetBeans\AllegroTest/main.c:42: undefined reference to `al_create_event_queue'
C:\NetBeans\AllegroTest/main.c:46: undefined reference to `al_show_native_message_box'
C:\NetBeans\AllegroTest/main.c:51: undefined reference to `al_get_keyboard_event_source'
C:\NetBeans\AllegroTest/main.c:51: undefined reference to `al_register_event_source'
C:\NetBeans\AllegroTest/main.c:52: undefined reference to `al_get_display_event_source'
C:\NetBeans\AllegroTest/main.c:52: undefined reference to `al_register_event_source'
C:\NetBeans\AllegroTest/main.c:57: undefined reference to `al_wait_for_event'
C:\NetBeans\AllegroTest/main.c:109: undefined reference to `al_map_rgb'
C:\NetBeans\AllegroTest/main.c:109: undefined reference to `al_draw_filled_rectangle'
C:\NetBeans\AllegroTest/main.c:110: undefined reference to `al_flip_display'
C:\NetBeans\AllegroTest/main.c:111: undefined reference to `al_map_rgb'
C:\NetBeans\AllegroTest/main.c:111: undefined reference to `al_clear_to_color'
C:\NetBeans\AllegroTest/main.c:114: undefined reference to `al_destroy_display'
collect2.exe: error: ld returned 1 exit status
make.exe[2]: *** [dist/Debug/MinGW-Windows/allegrotest.exe] Error 1
make.exe[2]: Leaving directory `/c/NetBeans/AllegroTest'
make.exe[1]: *** [.build-conf] Error 2
make.exe[1]: Leaving directory `/c/NetBeans/AllegroTest'
make.exe": *** [.build-impl] Error 2

СОБРАТЬ FAILED (значение выхода 2,, общее время: 1s)

Затем я записал визуальное видео

Ответы [ 2 ]

0 голосов
/ 22 мая 2020

Проблема, с которой я имел дело, была решена. Дело в том, что я из России, и у меня в операционной системе русская локализация и на подходе русские буквы. Из-за этого не было возможности получить доступ к прикрепленной библиотеке. Но я все исправил, теперь все у меня успешно компилируется.

Мне удалось скомпилировать с использованием ЭТОГО пакета библиотеки. Изначально я думал загружать каждую библиотеку индивидуально, но потом снова внимательно просмотрел все на основном сайте. Мне удалось успешно скомпилировать с использованием этих ключей:

-lallegro_monolith-static -static -ljpeg -ldumb -lwebp \
-lFLAC -lvorbisfile -lvorbis -logg -lphysfs -lfreetype \
-lpng16 -ldsound -lgdiplus -luuid -lkernel32 -lwinmm \
-lpsapi -lopengl32 -lglu32 -luser32 -lcomdlg32 -lgdi32 \
-lshell32 -lole32 -ladvapi32 -lws2_32 -lshlwapi -lpthread \
-static-libstdc++ -static-libgcc -lz -lopusfile -lopus

или

-lallegro_dialog-static -lallegro_acodec-static -lallegro_audio-static \
-lallegro_image-static -lallegro_primitives-static -lallegro_ttf-static \
-lallegro_font-static -lallegro-static -static -ljpeg -ldumb -lwebp -lFLAC \
-lvorbisfile -lvorbis -logg -lphysfs -lfreetype -lpng16 -ldsound -lgdiplus \
-luuid -lkernel32 -lwinmm -lpsapi -lopengl32 -lglu32 -luser32 -lcomdlg32 \
-lgdi32 -lshell32 -lole32 -ladvapi32 -lws2_32 -lshlwapi -lpthread \
-static-libstdc++ -static-libgcc -lz -lopusfile -lopus
0 голосов
/ 11 мая 2020

Ваша инструментальная цепочка 32-битная, но библиотека, которую вы настроили в NetBeans, построена для 64-битной версии.

...