上下文如下:我正在尝试从Linux Mint中的源代码编译InkscapeLite。在编译结束时,最后一个命令是(某些命令.o和.a文件被替换为“...”,因为该命令很长):
gcc -g -O2 -o inkscape --export-dynamic inkscape.o inkscape-stock.o ... ./.libs/libinkscape.al dialogs/libspdialogs.a ... -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 /usr/lib/i386-linux-gnu/libcairo.so -lpango-1.0 -lfontconfig -lgobject-2.0 -lglib-2.0 /usr/lib/i386-linux-gnu/libart_lgpl_2.so /usr/lib/i386-linux-gnu/libxml2.so /usr/lib/i386-linux-gnu/libpopt.so -lpng -lXft -L/usr/lib/i386-linux-gnu /usr/lib/i386-linux-gnu/libfreetype.so -lz -Wl,--rpath -Wl,/usr/lib/i386-linux-gnu -Wl,--rpath -Wl,/usr/lib/i386-linux-gnu
失败并显示错误:gcc: error: unrecognized option '--export-dynamic'
我所做的是将--export-dynamic替换为-export-dynamic,仅用于测试(注意,我不是C/C++程序员,对GCC或任何其他C编译器一无所知),并在控制台中手动执行了该命令。编译结束没有错误,并且程序可以运行,但是它几乎错过了所有工具栏和菜单图标(只有一些常用的图标可以打开/保存/复制/粘贴...)

是因为存在此问题选项--export-dynamic还是源中存在一些其他问题?

顺便说一句,同一程序在Puppy Linux发行版中可以正常工作。

最佳答案

似乎是建筑脚本问题。 --export-dynamic是一个链接器(在Unixes中为ld)选项,在您的情况下可能有用,但它不是gcc前端选项。我看到的所有GCC版本都有-rdynamic标志,该标志会导致--export-dynamic传递给链接器。因此,您可以使用自己的方式解决此问题(例如,只需尝试在makefile/etc中重命名该选项)和/或将问题报告给维护人员。

关于c++ - GCC编译器错误: unrecognized option '--export-dynamic' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23200755/

10-11 23:06
查看更多