上下文如下:我試圖從Linux Mint中的源代碼編譯InkscapeLite。在編譯結束,最後一個命令是(一些的.o和.a文件與「...
」所取代,因爲該命令是很長):GCC編譯器錯誤:無法識別選項'--export-dynamic'
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發行版中正常工作。
有一些問題在其他地方。基於動態鏈接,它只會輸出比您需要的更多的符號。這對潛在的調試和/或dlopen/sym/close很有用。 – lpapp
因此,我必須刪除'--export-dynamic'並在其他地方搜索問題?爲什麼'-export-dynamic'工作呢? – johnfound
不,保持-expotr動態,並繼續尋找另一個問題。 – lpapp