使用 g++ 编译器 (Ubuntu) 将 Allegro 库链接到 C++ 应用程序

Posted

技术标签:

【中文标题】使用 g++ 编译器 (Ubuntu) 将 Allegro 库链接到 C++ 应用程序【英文标题】:Linking the Allegro library to a C++ application using the g++ compiler (Ubuntu) 【发布时间】:2013-04-24 06:31:25 【问题描述】:

在尝试让 Allegro(一个 C++ 游戏编程库)在 Ubuntu 12.04 中与一个非常简单的 C++ 应用程序一起工作时,我无法让程序使用 allegro 标头定义进行编译。它返回错误 allegro.h - 找不到这样的文件或目录。我尝试运行 pkg-config 来找到正确的链接器命令,但这对编译没有帮助。

我几乎可以肯定它此时已正确安装。我尝试使用 pkg-config --cflags --libs allegro-5.0 作为包含文件路径,但在 g++ 编译行中使用时均无效。

提前致谢。

【问题讨论】:

你试过export PKG_CONFIG_PATH=/path/to/pkgfiles吗?或者像PKG_CONFIG_PATH=/path/dir make 这样的东西,如果你使用的是make? pkg-config 列出了已处理包列表中的库? pkg-config --cflags liballegro 输出什么? ... 所以你当前的问题是编译。当那个问题被解决时,链接就出现了。您是否尝试过设置 INCLUDE 或将 -I/path/to/allegro/headers 添加到编译器标志? pkg-config with --cflags 返回 -I、-L 和 -lallegro,我在 g++ 编译行中尝试了所有这三个,但它仍然说找不到头文件。跨度> 【参考方案1】:

运行 pkg-config --cflags --libs allegro-5.0 在包含路径上告诉我错误。它告诉我使用 -I/usr/local/include 并且在对该文件夹进行了一些挖掘之后,我发现包含路径是 -I/usr/local/include/allegro5强>代替。现在编译正常。

【讨论】:

以上是关于使用 g++ 编译器 (Ubuntu) 将 Allegro 库链接到 C++ 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

在 ubuntu 14.04 上使用 g++ 编译 client_test.cpp 的问题

在 minGW-W64 g++ 中编译的 C++ 代码不能在 Ubuntu g++ 中编译

为啥我只能在 G++ for Ubuntu 中获得垃圾值?

如何在 ubuntu 20.04 中安装编译器 g++-4.8.5

ubuntu18.04编译使用 caffe cpu 及生成神经网络图

用 g++ 编译 C++11