我正在尝试在 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 中并且头文件位于/usr/local/include 中,则应该可以工作...
fltk-config
只是 fltk-1.3.2(或其他)文件夹中的脚本。从 make 文件构建 FLTK 应该将其添加到您的路径中。如果没有复制它或将其定向到任何地方。但这确实让我想知道:你确实构建了这些库吗?
关于c++ - 在Mac上编译FLTK程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26724953/