C++ Wxwidgets在另一台计算机上运行二进制文件时出现问题
您好,当我在Linux上构建wxWidgets GUI应用程序时,构建工作进展顺利。我甚至可以运行它,它的工作原理与预期一致。当我将二进制文件复制到另一台Ubuntu计算机并尝试运行它时,会出现以下错误: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 即使在复制库时,我
./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电脑上,但系统仍然说找不到库?