Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Wxwidgets在另一台计算机上运行二进制文件时出现问题_C++_Wxwidgets - Fatal编程技术网

C++ Wxwidgets在另一台计算机上运行二进制文件时出现问题

C++ Wxwidgets在另一台计算机上运行二进制文件时出现问题,c++,wxwidgets,C++,Wxwidgets,您好,当我在Linux上构建wxWidgets GUI应用程序时,构建工作进展顺利。我甚至可以运行它,它的工作原理与预期一致。当我将二进制文件复制到另一台Ubuntu计算机并尝试运行它时,会出现以下错误: ./app2: error while loading shared libraries: libwx_baseu_unofficial-3.1.so.0: cannot open shared object file: No such file or directory 即使在复制库时,我

您好,当我在Linux上构建wxWidgets GUI应用程序时,构建工作进展顺利。我甚至可以运行它,它的工作原理与预期一致。当我将二进制文件复制到另一台Ubuntu计算机并尝试运行它时,会出现以下错误:

./app2: error while loading shared libraries: libwx_baseu_unofficial-3.1.so.0: cannot open shared object file: No such file or directory

即使在复制库时,我仍然会遇到问题。为什么它依赖于外部库?我不希望其他计算机要求安装此库,如何解决此问题?我想我可以尝试静态链接它,但其他人建议您不要这样做。

您需要在将二进制文件复制到的任何机器上安装整个wxWidgets运行时/共享库。这就是使用aptitude的全部要点——每个二进制软件包都有一个随附安装的依赖项列表

要克服这个问题,您需要静态链接二进制文件。您当前使用的是共享链接,正如您所注意到的,它依赖于外部库。“.so”表示共享对象。您必须链接静态存档库,通常以“.a”结尾。通常由aptitude提供的开发包不提供这些,所以您可能需要自己编译wxWidgets来提供这些。也要确保静态链接和编译所有wxWidgets下游依赖项。这是静态链接的主要缺点


您还可以查看以下内容。

您需要在您将二进制文件复制到的任何机器上安装整个wxWidgets运行时/共享库。这就是使用aptitude的全部要点——每个二进制软件包都有一个随附安装的依赖项列表

要克服这个问题,您需要静态链接二进制文件。您当前使用的是共享链接,正如您所注意到的,它依赖于外部库。“.so”表示共享对象。您必须链接静态存档库,通常以“.a”结尾。通常由aptitude提供的开发包不提供这些,所以您可能需要自己编译wxWidgets来提供这些。也要确保静态链接和编译所有wxWidgets下游依赖项。这是静态链接的主要缺点


您还可以查看类似的内容。

谢谢您的回复。我想在.deb文件中,我可以要求wxwidgets作为一个依赖项,以正确地解决问题?它应该确保在依赖项检查中也定义了编译所针对的版本。我已经构建了与自定义编译版本wxwidgets的链接。未修改,但它寻找的LIB是“非官方的”。我把“非官方”库复制到另一台Ubuntu PC上,但系统仍然说找不到库?谢谢你的回复。我想在.deb文件中,我可以要求wxwidgets作为一个依赖项,以正确地解决问题?它应该确保在依赖项检查中也定义了编译所针对的版本。我已经构建了与自定义编译版本wxwidgets的链接。未修改,但它寻找的LIB是“非官方的”。我把“非官方”的libs复制到另一台Ubuntu电脑上,但系统仍然说找不到库?