【问题标题】:Adding libraries to project将库添加到项目
【发布时间】:2014-12-08 03:24:06
【问题描述】:

我是 Qt 新手,我的 C++ 项目出现以下错误:

fatal error: apr_pools.h: No such file or directory

我从https://apr.apache.org/compiling_unix.html安装了apr并通过执行编译它:

 ./configure
 make
 make install

但我现在不知道如何将正确的文件链接到我的项目。

【问题讨论】:

  • 你是如何构建项目的?
  • 只需“全部构建”即可。

标签: c++ qt static-libraries apr


【解决方案1】:

这不是关于链接,而是关于现在的预处理。 (预处理器 = 程序或编译器的一部分,它读取所有以“#”开头的行并替换宏并插入包含的标题。) 预处理器找不到你的标题

http://qt-project.org/doc/qt-5/qmake-project-files.html#declaring-other-libraries

您必须将包含路径添加到其他标头所在的位置。

[编辑]

但是你的发行版中没有包?

你是什么操作系统,或者 linux 发行版?

如果你想安装 bins 和 headers,可能需要 ./configure --prefix=/usr ; sudo make install 之类的东西,或者直接复制文件(适应你的系统和 makefile)

[/编辑]

【讨论】:

    【解决方案2】:

    你必须:

    • .pro 中必须搜索头文件的特殊性:类似于win32:INCLUDEPATH += "C:/mylibs/extra headers" unix:INCLUDEPATH += "/home/user/extra headers"
    • 您必须指定必须链接的库:类似于 win32:LIBS += /mylibs/lib.so unix:LIBS += c:/mylibs/library

    【讨论】:

      【解决方案3】:

      我通过添加外部库解决了我的问题。 .pro 文件中的结果如下:

      unix:!macx: LIBS += -L/usr/local/apr/lib/ -lapr-1
      
      INCLUDEPATH += /usr/local/apr/include/apr-1
      DEPENDPATH += /usr/local/apr/include/apr-1
      

      但无论如何感谢大家的时间和善意:)

      【讨论】:

      • 那是一个地狱般的相对路径名。当然,如果您将项目移动到不同的地方,它可能会停止工作。你不能说-L/usr/local/apr/lib,因为这条路不太可能改变。另一个很好的可能性是-L$$PWD/../local/apr/lib,然后确保安装到与项目文件夹平行的本地/子目录中
      • @Brandin 是的,你是对的。我在我的解决方案中更改了它。非常感谢你!在我刚刚由一个生成这样一个相对路径的 qt 创建者完成之前。
      猜你喜欢
      • 2014-06-23
      • 2019-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-05
      • 2016-05-08
      • 2017-01-17
      相关资源
      最近更新 更多