2011-08-26 205 views
3

我想從(非SVN)源代碼塊(代碼塊-10.05-src.tar.bz2)安裝Code :: Blocks 10.05。我的操作系統是Ubuntu 11.04。我需要首先下載並安裝wxWidgets(我現在有wxGTK-2.8.12),這似乎工作。我根據這些指令編譯它:無法運行Code :: Blocks:libwx_gtk2u-2.8.so.0找不到

http://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Linux

然後,我

./configure --with-wx-config=/opt/wx/2.8/bin/wx-config 

配置的C :: B就跑

export LDFLAGS="-Wl,-R /opt/wx/2.8/lib" 
make 
sudo -i 
make install 

當試圖運行C :: B,我收到以下錯誤:

codeblocks: error while loading shared libraries: libwx_gtk2u-2.8.so.0: cannot open shared object file: No such file or directory 

同樣的問題在這裏被問到:error while loading shared libraries,但是建議的解決方案(即將wxWidgets配置添加到傳遞給configure的選項)對我無效。

wx-config --prefix輸出是/opt/wx/2.8

wx-config --libs輸出是-L/opt/wx/2.8/lib -pthread -lwx_gtk2u-2.8

和的which wx-config/opt/wx/2.8/bin/wx-config

我查找了圖書館,發現/opt/wx/lib/libwx_gtk2u-2.8.so.0是在同一個文件夾中的libwx_gtk2u-2.8.so.0.8.0的鏈接。

這裏可能有什麼問題?

回答

1

在Ubuntu上獲取代碼::阻止並運行的最簡單方法是通過新立得包管理器來安裝它。只需在「快速搜索」中輸入代碼塊即可。在列表中找到代碼塊,然後右鍵單擊以標記爲安裝。必要時,Synaptic將自動處理和安裝所需的任何依賴項和缺失的庫。

如果您有興趣嘗試在Ubuntu上每晚構建C :: B,那麼您需要結算Jens' unofficial debian-repository here

+0

包工作Ubuntu的,但我有麻煩建立wxWidgets的應用它們。這就是爲什麼我試圖從源頭編譯C :: B和wxWidgets的原因。我是wxWidgets的新手,也許我只是錯誤地配置了我的項目。儘管如此,這並不能解釋爲什麼自建的C :: B無法加載庫。 – Christoph

2

問題是程序無法在運行時間找到WX小部件庫。您將需要設置你的LD_LIBRARY_PATH變量包括wxWidgets的像這樣的位置:

LD_LIBRARY_PATH=/opt/wx/2.8/lib ./codeblocks 

爲什麼它的失敗是因爲你編譯反對wxWidgets的代碼塊到/ opt發現/,而不是一個安裝在/ usr /原因;該程序不知道要在/ opt中查找wx庫。

0

您可以訪問Why do I have to define LD_LIBRARY_PATH with an export every time I run my application?獲得更爲一般的情況。對於像您的特殊情況,您可以按照以下步驟操作:

如果您安裝了wxGTK,那麼您將在/usr/local/lib中看到該文件。當上述路徑不是makefile的一部分時,你會得到這個錯誤。我在啓動wxFormBuilder後在CentOS上從源代碼構建後收到此錯誤。有兩種方法。

方法1:行#用戶後,把路徑的.bashrc

gedit /home/{your-username}/.bashrc

然後具體的別名和函數粘貼以下

export $LD_LIBRARY_PATH=/usr/local/lib.

這將工作正常,但對於當前登錄,但對於其他用戶(如root),您可能必須在相應的.bashrc文件中執行相同的操作。

方法2:創建自己的conf文件

cd /etc/ld.so.conf.d

gedit wxformbuilder.conf

Give the path /usr/local/lib and save the file.

ldconfig (To update the library path).

相關問題