1

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

#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/Users/SAQERpc/Documents/NetBeansProjects/Plotting' 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/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

BUILD FAILED(退出值2,总时间:2s)

4

2 回答 2

1

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

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

最后一个名为“Select Option”的弹出窗口应如下所示:

在此处输入图像描述

于 2018-10-14T00:37:35.393 回答
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
于 2018-12-29T08:00:57.390 回答