Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.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++ 如何将Allegro库与Ubuntu Allegro应用程序捆绑?_C++_Ubuntu_Allegro_Allegro5 - Fatal编程技术网

C++ 如何将Allegro库与Ubuntu Allegro应用程序捆绑?

C++ 如何将Allegro库与Ubuntu Allegro应用程序捆绑?,c++,ubuntu,allegro,allegro5,C++,Ubuntu,Allegro,Allegro5,我得到了Allegro开发库,编写并编译了一个简单的应用程序,并在我的计算机上运行,它运行得很好。我让一个朋友测试了它,但双击时它什么也没做。我认为问题在于他没有安装Allegro库,所以程序无法运行。对他来说,手动安装库和依赖项是唯一可行的方法,还是有办法将必要的库打包到应用程序中 编辑:对不起,我的意思是说我使用的是Allegro 5。我假设您使用的是Allegro 4,因为您使用的是Ubuntu软件包。如果是这样,您可以链接静态libalge.a库。但是,仍然存在其他依赖项 在可执行文件上

我得到了Allegro开发库,编写并编译了一个简单的应用程序,并在我的计算机上运行,它运行得很好。我让一个朋友测试了它,但双击时它什么也没做。我认为问题在于他没有安装Allegro库,所以程序无法运行。对他来说,手动安装库和依赖项是唯一可行的方法,还是有办法将必要的库打包到应用程序中


编辑:对不起,我的意思是说我使用的是Allegro 5。

我假设您使用的是Allegro 4,因为您使用的是Ubuntu软件包。如果是这样,您可以链接静态libalge.a库。但是,仍然存在其他依赖项

在可执行文件上运行ldd将显示需要哪些依赖项。如果您的朋友运行ldd,它将告诉他缺少哪些依赖项

编辑:因为您使用的是Allegro5,所以需要编译静态版本。从新生成目录:

cmake -DSHARED=off ..
make
sudo make install
然后在构建时:

gcc game.c -o game $(pkg-config --libs --static allegro-static-5.0)

同样,还有其他依赖项,但是你的朋友可以用apt-get安装它们,我在原来的帖子中忘了提到这一点,但我使用的是allegro 5。