我正在尝试在Mac OSX Mavericks上编译FLTK程序(http://www.fltk.org/index.php)。所有.h软件包都可以正常编译,但是我收到以下错误:

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我尝试使用g++clang++ -stdlib=libstdc++来编译程序,但是两次都收到相同的错误。

对于消除此错误消息的任何输入,我将不胜感激。

最佳答案

您想使用fltk-config脚本,但是尚不清楚如何从他们的文档中了解如何使用它。这是我使用的一般形式,它实际上在做什么:

在命令行中,您可以像这样进行编译(假设您需要图像库,opengl库,并希望进行静态链接[FLTK的一半])

g++ file1.cpp file2.cpp `fltk-config --use-forms --use-gl --use-images --ldstaticflags --cxxflags` -o output

这相当于
g++ file1.cpp file2.cpp -I/usr/local/include -I/usr/local/include/FL/images -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT /usr/local/lib/libfltk_images.a /usr/local/lib/libfltk_png.a -lz /usr/local/lib/libfltk_jpeg.a /usr/local/lib/libfltk_gl.a -framework AGL -framework OpenGL -framework ApplicationServices /usr/local/lib/libfltk_forms.a /usr/local/lib/libfltk.a -lpthread -framework Cocoa -o output

因此,如果您确定库位于/ usr / local / lib中,并且 header 位于/ usr / local / include中,则应该可以使用...
fltk-config只是位于fltk-1.3.2(或任何其他名称)文件夹中的脚本。从make文件构建FLTK应该将其添加到您的路径。如果没有,请将其复制或定向到任何地方。但是,这的确使我感到奇怪:您是否确实构建了库?

关于c++ - 在Mac上编译FLTK程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26724953/

10-11 18:02