wxWidget v2.8 软件.获取它适用于 3.0 库
wxWidget v2.8 software. Get it works with a 3.0 lib?
6年前,我使用wxWidget 2.8库编写了一个软件。我希望它运行在安装了wxWidget 3.0库的Ubuntu 16.04上。它编译没有任何错误,这是我的制作文件的输出:
----------------------------------------------------------------------
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
----------------------------------------------------------------------
然后,当我尝试运行该应用程序时,它说:
error while loading shared libraries: libwx_gtk2u_xrc-2.8.so.0: cannot open shared object file: No such file or directory
我能做些什么来让它工作?
编辑:
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)
在 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 返回我这个:
-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
你只需要用新的库版本重新编译它。从您收到的错误消息来看,您没有这样做或编译不成功。
另外,请确保您阅读了有关升级到 3.0 的文档,因为这几乎可以保证您会遇到错误。
相关文章:
- OpenGL - 在 NDC 中计算位置适用于着色器,但不适用于'regular'程序
- 使用模板参数重载C++方法:如何使其适用于模板的子类?
- 如何修复我的最大公约数代码?它适用于除零和零以外的所有数字
- 选择排序C++(已修改)并非适用于所有情况
- 无法让"std::enable_if"适用于无作用域枚举
- 请找出我的代码中的错误,它在提交得到错误答案的同时仍然适用于我的所有测试用例
- 确定夏令时是否适用于特定日期
- 是否有一种 STL 算法可以最后找到,但它也适用于指针?
- QT 样式表主题,适用于使用属性选择器的整个应用程序
- C++带有适用于左值和右值的引用参数的函数
- 代码适用于调试,但不适用于发布
- C++17 和更新的 std::分配器是否适用于动态数量的自定义堆?
- 适用于大型数组的无复制线程安全环形缓冲区
- NRVO 是否也适用于协程?
- 约束包容是否仅适用于概念?
- 程序只适用于包含(无副作用)cout声明
- 适用于频繁更改的大型数据集的最佳数据结构
- 相同的 for 循环适用于其他项目,但不适用于此项目。为什么?
- std::mutex 的发布-获取可见性保证是否仅适用于关键部分?
- 在泰勒展开中获取 inf 对于 e^x,但仅适用于小误差边界