我正在嘗試爲WebKit爲嵌入式arm設備(freescale處理器)交叉編譯Qt。我有一個arm-none-linux-gnueabi工具鏈。交叉編譯Qt for Embedded Arm:找不到libpthread.so.0
Qt實際編譯,但我試圖編譯演示時遇到問題,特別是WebKit的,這真的是我後。
我遇到的第一個問題是沒有找到libjscore,這是由於Qt處理靜態構建的方式而導致的錯誤。原來,你可以複製圖書館,它的工作原理,見here。
現在編譯再次打破它說找不到libpthread.so.0,這似乎是一個工具鏈問題,而不是一個Qt問題。
在我的工具鏈中搜索目錄樹時,有幾個libpthreads。 的複製發現| grep libpthread命令的輸出在下面供參考。
./arm-none-linux-gnueabi/sysroot/vfp/lib/libpthread-2.5.so
./arm-none-linux-gnueabi/sysroot/vfp/usr/lib/libpthread_nonshared.a
./arm-none-linux-gnueabi/sysroot/vfp/usr/lib/libpthread.a
./arm-none-linux-gnueabi/sysroot/vfp/usr/lib/libpthread.so_orig
./arm-none-linux-gnueabi/sysroot/vfp/usr/lib/libpthread.so
./arm-none-linux-gnueabi/sysroot/lib/libpthread-2.5.so
./arm-none-linux-gnueabi/sysroot/usr/lib/libpthread_nonshared.a
./arm-none-linux-gnueabi/sysroot/usr/lib/libpthread.a
./arm-none-linux-gnueabi/sysroot/usr/lib/libpthread.so_orig
./arm-none-linux-gnueabi/sysroot/usr/lib/libpthread.so
因此,似乎鏈接器有一些奇怪的東西?另外,需要什麼符號鏈接來創建libpthread.so.0?
注意:_libpthread.so_orig_和libpthread.so遵循此fix。
任何幫助或建議,非常感謝。現在我已經把頭撞在牆上兩天了。
感謝
你似乎有圖書館。通常如果存在多個共享庫(.so),則它們被命名爲 - somelib.so.1,somelib.so.2,其中有時後綴to .so也可能是版本名稱。所以我會說從libpthread.so.0創建一個sym鏈接到libpthread.so或libpthread.so_orig或libpthread-2.5.so,它可能都會工作,否則只是鏈接到最新的libpthread。 – Abhijith 2011-05-13 14:25:55
@abhijith - 謝謝你的回覆。我添加了一個從libpthread.so.0到libpthread-2.5.so的符號鏈接,現在鏈接器斷開了其他內容。我收到錯誤:'arm-none-linux-gnueabi/bin/ld:找不到-lgcc_s'。工具鏈目錄樹中的某處有一個libgcc_s。有任何想法嗎? – 2011-05-13 15:27:58
它是不夠的,如果它是'某處',它必須在您的工具鏈的搜索路徑。您可以使用-L選項將搜索路徑/目錄添加到鏈接器。例如,如果你想鏈接器在/ usr/local/mydir目錄中搜索任何庫文件,你可以將這個選項提供給鏈接器-L/usr/local/mydir – Abhijith 2011-05-13 15:39:19