我正在尝试在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++
来编译程序,但两次都收到了同样的错误。
我非常感谢有关此问题的任何输入,以消除此错误消息。
答案 0 :(得分:3)
您想使用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应该将其添加到您的路径中。如果不复制或将其指向任何地方。它确实让我想知道:你有没有建立图书馆?