用gcc编译FLTK错误

时间:2014-02-11 06:04:42

标签: gcc compilation fltk

我正在尝试编译我的第一个FLTK文件。首先我用gcc和-lfltk选项编译它,我得到了这个错误:

/usr/bin/ld: /tmp/ccX7sPxQ.o: undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

为什么会收到此错误消息?如果我使用g ++,它只是编译它。

修改。 fltk-config --cxxflags返回:

-I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include 
-I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12   
-I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/glib-2.0 
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 
-I/usr/include/libpng12    -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT

2 个答案:

答案 0 :(得分:4)

-lfltk不足以构建基于FLTK的最小应用程序。

我强烈建议您阅读以下页面:http://www.fltk.org/doc-1.3/basics.html。它清楚地解释了如何编译一个简单的FLTK程序。

假设您的FLTK应用程序没有使用额外的FLTK库(opengl,图像,表单)并且位于一个名为 myfltkapp.cpp 的文件中,那么编译和链接它的绝对最快的方法就是是:

fltk-config --compile myfltkapp.cpp

答案 1 :(得分:1)

我猜我得到错误的原因来自gcc和g ++之间的区别。我以为我可以通过gcc用fltk库编译它,但是gcc没有自动链接c ++标准库。因此,您必须包含gcc的C ++标准库。这是一个愚蠢的问题。

gcc myfltkapp.cpp -lstdc++ -lfltk

What is the difference between g++ and gcc?