c - MinGW 在 NetBeans 中看不到库
问题描述
我正在尝试在 NetBeans 中配置项目的编译。
我从GitHub下载了最新版本的库程序集。解压到系统目录的根目录。
在 NetBeans 中指明了存放“include、bin、lib”目录的路径。
编写代码时,IDE 会提取必要的标头,并且代码看起来正确无误。编译时,在项目属性中指定了必要的键:-lallegro_dialog -lallegro_primitives -lallegro
但是由于某种原因,在编译库时没有拉取并且 Netbeans 抛出错误。
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)
解决方案
您的工具链是 32 位的,但您在 NetBeans 中设置的库是为 64 位构建的。
推荐阅读
- javascript - 改进管脚输入元件
- python - 如何在 Git Bash 上更新 python?
- r - 以最有效的方式确保 dplyr::summarise() 中的唯一值
- javascript - 如何为有间隔的任务使用循环?
- r - 按名称对R中的列联表进行排序
- javascript - 在javascript中查找重复值时出现问题
- python-3.x - 第一次使用函数,尝试调试此代码以进行掷骰子模拟,所有可能性都只进入第一个 win 语句
- ios - 带有大标题和右侧 UIBarButtonItem 的导航栏
- mysql - 在 MySQL 上导入错误的 .sql 文件的最佳实践
- python-3.x - Pip 安装 -r requirements.txt 不会失败