1. 程式人生 > >解決問題帖--交叉編譯gdk-pixbuf之loaders.cache

解決問題帖--交叉編譯gdk-pixbuf之loaders.cache

對於這個問題發現了問題所在,提出了一個可用的爛補丁,給大家引出問題所在,拋轉引玉,希望大家給出一個更加完美的解決方案。

在交叉編譯gdk-pixbuf時可能會在配置時沒有問題,但是在Make時出現如下錯誤提示:

No rule to make target '../gdk-pixbuf/loaders.cache',needed by 'gdk-pikbuf-thumnailer.thumnailer. Stop

經過查詢一些資料,發現這個檔案是一個用來記錄可用的動態載入模組的快取檔案,由gdk-pixbuf-query-loaders生成的。生成後由gdk-pixbuf-thumnailer使用,相當於gdk-pixbuf-thumnailer的配置檔案,跟據這個檔案生成供其他應用程式使用的縮圖。相關資料:

最接近真相的是GNOME提供的資料。但這裡只介紹了這個檔案是怎麼來的,沒有介紹有什麼用途。

然後在一個gdk-pixbuf的下載網站找到了產生者和使用者的用途:

經過一系列的研究發現是在Make時先生成了這兩個可執行檔案,但是由於是交叉編譯,自己的電腦無法使用這兩個可執行檔案盡心模組資訊的收集,生成縮圖。或者是由於生成的那些動態載入模組自己電腦也無法執行無法檢測是否可用。或者兩者皆有。

解決辦法:在庫的解壓目錄下的gdk-pixbuf目錄下建一個空的loaders.cache檔案。相當於沒有收集到可用的動態載入模組資訊,自然不會執行gdk-thumnailer去生成縮圖。可以完成編譯。

這個問題應當出現在交叉編譯時,正常的自己電腦上安裝這個庫應該不會出問題。至於為什麼要在編譯階段就收集模組資訊生成縮圖暫時不知。