最简单的使用c ++库来绘制像matlab和octave这样的函数吗?我查看了几个并且发现了所有类似的主要问题:我无法编译只有
的空程序#include <iostream>
#include "header_to_include.h"
int main(){
return 0;
}
我找到了koolplot,一些wxwidget的东西,sdl_graph,gnuplot ++,以及Qt的东西。我看了一下here列表中的一些,但有些用于其他语言,而其他人使用安装程序或依赖其他程序。当我提取文件并尝试编译我的简单代码或从下载中给出示例代码时,代码块总是抱怨缺少标题或变量或其他一些东西。
我会使用gnuplot,除了我不想从我的cpp文件创建gnuplot文件,即使它通过管道。我希望能够直接从该计划中绘图。
拉链中是否只有少数几个文件可以提取和使用,而不必弄清楚要包含哪些文件,安装/下载其他主要库等等?
编辑:
例如,我找到了http://sdl-grapher.googlecode.com/svn/trunk/并下载了文件。我已经有了sdl,所以我将sdlgraph.h复制到了includes文件夹中,并在example.c的同一目录中留下了一个副本。当我编译时,我发现由于某种原因,#include <sdlgraph.h>
不起作用。尽管是一个SDL程序,int main()
也没有参数。在解决了这个问题之后,我得到了undefined reference
个15种不同的功能,我可以在sdlgraph.h
文件中清楚地看到这些功能,例如init_graph
和draw_grid
答案 0 :(得分:0)
关于您的错误:
由于您对C ++不熟悉,我会解释您的undefined reference
错误。
在C ++中,你可以声明一个这样的函数:
void foo();
然而,既然已经声明了它,它并不是主要定义的。定义可以存在于C ++源文件,库中,也可以存在于头文件中。
定义上一个例子:
void foo() {
std::cout << "void foo() has been called." << std::endl;
}
您获得的错误意味着这些功能尚未定义。 我想你必须将你的应用程序与SDL库链接起来。
有关详细信息,请参阅: http://content.gpwiki.org/index.php/SDL:Tutorials:Setup
有关动态和静态链接的详细信息,请参阅: http://www.learncpp.com/cpp-tutorial/a1-static-and-dynamic-libraries/
希望它有所帮助!