2017-04-13 1 views
0

J'ai codé un logiciel en utilisant la bibliothèque wxWidget 2.8 il y a 6 ans. Je veux qu'il fonctionne sur un Ubuntu 16.04 qui a une librairie wxWidget 3.0 installée. Il compile sans erreur, voici la sortie de mon Makefile:Logiciel wxWidget v2.8. Obtenez-le avec une lib 3.0?

---------------------------------------------------------------------- 
wxFlasher configuration : 
+ DEBUG = 0 
+ UNICODE = 1 
+ STATIC = 0 
+ WX_VERSION = 3.0.2 
+ SRC_DIR = /var/dev/wxFlasher/src 
+ BUILD_DIR_BASE = /var/dev/wxFlasher/build_gcc/releaseu 
+ OUT_DIR = /var/dev/wxFlasher/out_gcc/releaseu 
+ GCC_PATH = /usr/bin/gcc 
+ GCC_VERSION = gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609 
---------------------------------------------------------------------- 

Puis, lorsque je tente de lancer l'application, il est dit:

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

Que puis-je faire pour obtenir cela fonctionne?

EDIT:

La sortie de ldd:

linux-vdso.so.1 => (0x00007ffde9753000) 
libwx_gtk2u_xrc-2.8.so.0 => not found 
libwx_gtk2u_core-2.8.so.0 => not found 
libwx_baseu_xml-2.8.so.0 => not found 
libwx_baseu-2.8.so.0 => not found 
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fbf56ffd000) 
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbf56de0000) 
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbf56a17000) 
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbf5670e000)/lib64/ld-linux-x86-64.so.2 (0x00007fbf5737f000) 
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fbf564f8000) 

dans wxconfig.mak:

WX_CONFIG := wx-config 

# argument for debug 
ifeq ("$(DEBUG)", "0") 
    WX_CONFIG_ARGS += --debug=no 
else 
    WX_CONFIG_ARGS += --debug=yes 
endif 

# argument for unicode 
ifeq ("$(UNICODE)", "0") 
    WX_CONFIG_ARGS += --unicode=no 
else 
    WX_CONFIG_ARGS += --unicode=yes 
endif 

# argument for static 
ifeq ("$(STATIC)", "0") 
    WX_CONFIG_ARGS += --static=no 
else 
    WX_CONFIG_ARGS += --static=yes 
endif 

# get wxWidgets configuration 
WX_LIBS := $(shell $(WX_CONFIG) --libs $(WX_CONFIG_ARGS)) 
WX_FLAGS := $(shell $(WX_CONFIG) --cppflags $(WX_CONFIG_ARGS)) 
WX_VERSION := $(shell $(WX_CONFIG) --version $(WX_CONFIG_ARGS)) 

WX-config --libs me retourne ceci:

-L/usr/lib/x86_64-linux-gnu -pthread -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_qa-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu_xml-3.0 -lwx_baseu_net-3.0 -lwx_baseu-3.0 

Répondre

0

Vous avez juste besoin de recompiler avec la nouvelle version de la bibliothèque. A en juger par le message d'erreur que vous avez reçu, vous ne l'avez pas fait ou la compilation a échoué.

De même, assurez-vous de lire la documentation relative à la mise à niveau vers la version 3.0, car c'est presque une garantie que vous aurez des erreurs.

+0

J'ai édité ma question, pas d'erreur lors de la compilation et j'ai bien compilé avec la version 3.0 ... Je ne comprends pas ce qui se passe –

+0

@BaptisteArnaud, donc si vous lancez "ldd " quelle est la sortie? Avez-vous également compilé vous-même la bibliothèque ou l'avez-vous installée dans le repo? – Igor

+0

question éditée. Je pense que je l'ai installé à partir du repo! –