mathGl / MinGW неопределенная ссылка IDE Netbeans

Я пытаюсь скомпилировать следующий код:

#include <cstdlib>
#define HAVE_STRUCT_TIMESPEC
#include <mgl2/mgl.h>
using namespace std;

int main() {
   mglGraph gr;
   gr.FPlot("sin(pi*x)");
   gr.WriteFrame("test.png");
   return 0;
}

Я использую Netbeans IDE, Win 10 64x .... но получаю эту ошибку:

Ценю твою помощь.

cd 'C: \ Users \ SAQERpc \ Documents \ NetBeansProjects \ Plotting' 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]: вход в каталог /c/Users/SAQERpc/Documents/NetBeansProjects/Plotting' "/C/MinGW/msys/1.0/bin/make.exe" -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/plotting.exe make.exe[2]: Entering directory / c / Пользователи /SAQERpc/ Документы /NetBeansProjects/ Создание чертежей ' mkdir -p build/Debug/MinGW-Windows rm -f "build/Debug/MinGW-Windows/main.od" g++ -c -g -MMD -MP -MF "build/Debug/MinGW-Windows/main.od" -o build/Debug/MinGW-Windows/main.o main.cpp mkdir -p dist/Debug/MinGW-Windows g++ -o dist/Debug/MinGW-Windows/ building / Debug / MinGW-Windows / main.o -lmgl build / Отладка / MinGW-Windows / main.o: в функции ZN8mglGraphC1Eiii': c:/mingw/include/mgl2/mgl.h:39: undefined reference to _imp___ZTV8mglGraph' c:/mingw/include/mgl2/mgl.h:42: неопределенная ссылка на _imp__mgl_create_graph_gl' c:/mingw/include/mgl2/mgl.h:48: undefined reference to _imp__mgl_create_graph' build/Debug/MinGW-Windows/main.o: в функции ZN8mglGraphD1Ev': c:/mingw/include/mgl2/mgl.h:53: undefined reference to _imp___ZTV8mglGraph' c:/mingw/include/mgl2/mgl.h:53: неопределенная ссылка на _imp__mgl_use_graph' c:/mingw/include/mgl2/mgl.h:53: undefined reference to _imp__mgl_delete_graph' build/Debug/MinGW-Windows/main.o: в функции ZN8mglGraph11SetFontSizeEd': c:/mingw/include/mgl2/mgl.h:122: undefined reference to _imp__mgl_set_font_size' build/Debug/MinGW-Windows/main.o: в функции ZN8mglGraph10WriteFrameEPKcS1_': c:/mingw/include/mgl2/mgl.h:399: undefined reference to _imp__mgl_write_frame' build/Debug/MinGW-Windows/main.o: в функции ZN8mglGraph5FPlotEPKcS1_S1_': c:/mingw/include/mgl2/mgl.h:1973: undefined reference to _imp__mgl_fplot' collect2.exe: ошибка: ld вернул 1 состояние выхода make.exe [2]: * [dist / Debug / MinGW-Windows / plotting.exe] Ошибка 1 make.exe[2]: выход из каталога /c/Users/SAQERpc/Documents/NetBeansProjects/Plotting' make.exe[1]: *** [.build-conf] Error 2 make.exe[1]: Leaving directory /c/Users/SAQERpc/Documents/NetBeansProjects/ Печать 'make.exe ": * [.build-impl] Ошибка 2

BUILD FAILED (значение выхода 2, общее время: 2 с)

1 ответ

Вам нужно сообщить компоновщику имя библиотеки, содержащей все функции mathGL. В Netbeans 8.2 вы можете сделать это следующим образом (я предполагаю, что ваш проект - "Приложение C/C++"):

  • Откройте свойства вашего проекта
  • Нажмите "Линкер" на левой панели
  • Найдите строку "Библиотеки" и нажмите кнопку с "..." на правой стороне
  • Нажмите "Добавить опцию..." в правой панели
  • Выберите "Другой вариант" и введите "-lmgl"
  • Нажмите "ОК"
  • Перестрой свой проект

Это последнее всплывающее окно под названием "Выбрать опцию" должно выглядеть следующим образом:

Попробуй это тоже

Open your project properties
Click "Linker" in the left pane
Find "Libraries" line and click button with "..." on its right side
Click "Add option..." in the right pane
Select "Other Option" and type "-lodbc"
Click "Ok"
Rebuild your project
Другие вопросы по тегам