我正在尝试将wxWidgets库构建到Fedora 27操作系统上的自定义路径中。
我实现了wx-config
文件路径识别,并且可以执行cmake。另外,我加载库并包含基于修改后的wxWidgets finder cmake文件的目录,该文件成功设置了wx-config
自定义路径。
但是cmake不会加载我的wxWidgets配置。我的意思是,无法建立wx_gtk2u_jpeg-3.1
构建的lib(假定为/usr/lib/libwx_gtk2u_jpeg-3.1.so
)。我的项目需要wxWidgets的jpeg
依赖项。
我确定问题不在于cmake文件。但是,问题是wxWidgets编译,因为cmake可以在/usr/lib/
我实际上安装了libjpeg-turbo-devel
软件包,其中包括wxWidgets构建所需的libjpeg.h
,但没有成功创建libwx_gtk2u_jpeg-3.1.so
。
最奇怪的部分是$ wx-config --libs
显示了要链接的wx_gtk2u_jpeg-3.1
lib和应该建立的提示路径。
用于构建的wxWidgets命令:
$ ./configure --with-libjpeg=builtin --with-libpng=builtin --with-libtiff=builtin --with-zlib=builtin --with-expat=builtin --enable-webviewwebkit=no --prefix=/opt/cpp_dependencies/2018Q1/usr'
$ make -j 4
$ make install
您可以检出我的cmake文件,cmake输出和wxWidgets构建输出以进行再现:https://gist.github.com/jjalvarezl/b70accae269ef56c56010bedf157c27f
您会看到wxWidgets构建jpeg库为buildin
的输出文件的第1543行,以及同一个文件的1564,使用make install
命令将所有libwx_<lib_name>.so
库安装到最终{{ 1}}路径。无论如何,没有人包含所需的库。
答案 0 :(得分:0)
请显示确切的错误消息,因为尚不清楚实际的问题是什么。我能说的是,即使共享wxWidgets本身,第三方库的不同内置版本(例如libjpeg)也总是 静态库。即您将永远不会拥有libwx_gtk2u_jpeg-3.1.so
,只有.a
。
我也强烈建议在Unix系统下使用第三方库的系统版本。这意味着您的wxWidgets应用程序将从您的操作系统供应商处获取安全更新,并且您不会因为在应用程序中使用同一库的两个不同版本而遇到任何不兼容的风险。