mathGl / MinGW未定义参考Netbeans IDE

时间:2018-09-29 10:25:58

标签: c++ netbeans mingw mathgl

我正在尝试编译以下代码:

#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 =调试 “ /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 / Users / SAQERpc / Documents / NetBeansProjects / Plotting' mkdir -p build / Debug / MinGW-Windows rm -f“构建/调试/MinGW-Windows/main.o.d” g ++ -c -g -MMD -MP -MF“ build / Debug / MinGW-Windows / main.o.d” -o build / Debug / MinGW-Windows / main.o main.cpp mkdir -p dist / Debug / MinGW-Windows g ++ -o dist / Debug / MinGW-Windows / plotting build / Debug / MinGW-Windows / main.o -lmgl build / Debug / 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 / Plotting' make.exe“:* [.build-impl]错误2

建立失败(退出值2,总时间:2秒)

2 个答案:

答案 0 :(得分:1)

您需要告诉链接程序一个包含所有mathGL函数的库名称。在Netbeans 8.2中,您可以通过以下方式进行操作(我假设您的项目是“ C / C ++应用程序”):

  • 打开您的项目属性
  • 点击左侧窗格中的“链接器”
  • 找到“库”行,然后单击右侧带有“ ...”的按钮
  • 在右窗格中单击“添加选项...”
  • 选择“其他选项”并键入“ -lmgl”
  • 点击“确定”
  • 重建项目

最后一个名为“选择选项”的弹出窗口应如下所示:

enter image description here

答案 1 :(得分:0)

也尝试

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