【发布时间】:2014-02-24 00:05:08
【问题描述】:
我在 Linux 上使用 QtCreator 3.0.1 和 Qt 5.2.1 时遇到问题。我正在尝试使用 QtCreator 内置的“构建”函数编译我的项目,我想它运行qmake project.pro,然后运行make。我的项目使用 QScintilla,我已将其编译为静态库 (.a),并包含在我的项目目录中 qscintilla/Qt4Qt5。
编译完成后,编译输出面板显示如下:
/usr/bin/ld: cannot find -lqscintilla2
collect2: error: ld returned 1 exit status
我的.pro 文件包含:
LIBS += -Lqscintilla/Qt4Qt5 -lqscintilla2
但是,通过终端模拟器在项目的根目录上运行qmake 然后make 效果很好,并且项目编译和链接成功。我仔细检查了qscintilla/Qt4Qt5 目录是否包含文件libqscintilla2.a。
【问题讨论】:
-
您是否尝试过-l的绝对路径,例如-lqscintilla/Qt4Qt5/libqscintilla2.a?请显示整个链接器输出它试图执行的内容。
-
您是否也在尝试将 qscintilla 库构建为项目的一部分,或者只是将其作为静态库包含在内?我认为没有任何理由这样做。
-
不幸的是,@LaszloPapp 没有用。我觉得奇怪的是,通过终端运行
make可以完美运行,使用相同的.pro文件和所有内容。 -
您是否在终端和控制台中使用相同的构建文件夹?也许您可以按照下面的说明尝试“OUT_PWD”?
标签: c++ qt qt-creator qmake qscintilla