1,关于版本问题,网上许多说法,都是过时的版本的说法,但参考一下定会问题的大至方向还是可以的。
ubuntu 18.04。 codeblocks 16.01 wxwidgets 3.0
2,codeblocks-contrib明确在ubuntu18.04,有lib问题,不要安装了。用什么plugin单独尝试吧。
3,wxwidgets 3.0 最好也用apt安装,这样出的版本问题会少一点。如果要用源码安装,就要明确它对其它的库的依存关系。
4,ubuntu用的桌面是gtk/gnome。基于gtk又有不同。x11更低层一些。wxwidgets 可以基于x11,编译,也可基于gtk2或者gtk3编译。
5,如果出错,先尝试升级。 主要的问题可能在gtk上,因为ubuntu的桌面基于gtk但又与gtk不相同。用命令
sudo apt-get install gnome-devel实际上升级了相关的包,比别的单独升级好,实测中到目前没发现大问题。
6,手工安装wxwidget会引起比较多的问题。在./configure 前最好 make clean一下。否则会引起链接,出现多个引用的问题。
7,最后wxwidgets混乱问题是通过,把全部wxwidgets相关的包remove.然后只用make install解决的。
中间要用的命令中:
sudo update-alternatives --config wx-config 这显示出的只是用apt安装的包。
wx-config --selected-config 这个是能看到用make install安装的包。
如果相关软升级,可能会引起wx的apt包自动安装,但自动安装的与wx-config --cxxflags 得到的编译选项不配,然后就出各种问题。编译不了,编译后运行不了等等。实在不好,只能手工指定编译选项。
8,进一步定位在的问题。
codeblocks也要用到wxwidget,版本会与安装的新版本冲突。所以源码安装的版本不能用如下方法加到系统的库中,
cd /etc/ld.so.conf.d/
sudo touch wxWidgets.conf
sudo gedit wxWidgets.conf #增加其内容为/usr/local/lib
重新加载动态库配置信息:
sudo ldconfig
如果做了,需要
sudo rm /etc/ld.so.cache.
并sudo make uninstall (wxwidge)
然后再
sudo ldconfig
再sudo make install(wxwidge)这样只能codeblocks中用。
尝试如下的说法:(如下方法可以解决动态库存的版本问题,本方法出的应用比较大,如果不用codeblocks,还是可以用sudo ldconfig本系统的动态库版本,当然这也有可能与别的应用冲突)。
因为系统中已经安装了wxWidgets,所以不能make install,如果编译成动态版本的会导致冲突
./configure --with-gtk --enable-unicode --disable-shared --enable-debug
遇到找不到 lXxf86vm的错误,但这个错误遇,没有libxxf86vm无关,是因为我在,编译安装完成wxWidgets 系统提示有升级时,我升级了系统。这时乱乱的错误就出来了,
1,先是系统的settings找不到,这个用重新安装桌面会解决。
sudo apt-get install ubuntu-desktop
更好的方法是,
sudo apt-get install gnome-control-center
如果还解决不了,就remove 后,autoremove 一下,再安装。这样相关的包也会重新安装。
2,lXxf86vm的错误的主要原因是: 手工安装的(make install)不在apt的管理范围内,要自已去处理版本不相容问题。因为是编译包,所以编译时依据的是./configure 时的系统环境(模块,库,变量等),这些在系统自动升级后都可能变量,所以要重新编译并安装它。 这也是,最好不要用make install去安装软件的原因。依据关系太复杂了。但手工安装,也是解决一些版本不相容,问题的有效方法,在用它之后,通常就不要去升级系统了。