QT未定义对第三方库的引用

时间:2015-08-13 03:52:02

标签: linux qt qmake

目前我正在学习使用名为'triceps'的库。我在linux平台上使用qt-creator,编译器就是clang。

错误消息是

/home/developer/Projects/trytriceps/main.cpp:11: error: undefined reference to `Triceps::Unit::Unit(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)'

我的.pro文件是这样的。

QT       += core

QT       -= gui

TARGET = trytriceps
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app

SOURCES += main.cpp

LIBS += -stdlib=libc++
INCLUDEPATH += /home/developer/Projects/triceps-2.0.1/cpp
# This path contains libtriceps.a and libtriceps.so.
LIBS += -L/home/developer/Projects/triceps-2.0.1/cpp/build
LIBS += -ltriceps

QMAKE_CXXFLAGS += -stdlib=libc++
QMAKE_CXXFLAGS += -std=c++11

我的main.cpp文件是

#include <iostream>
#include <utest/Utest.h>
#include <sched/Unit.h>
using namespace std;

int main()
{
    cout << "hello world" << endl;

    Autoref<Unit> hwunit = new Unit("my unit");

    cout << hwunit->getName() << endl;

    return 0;
}

我试图以这种方式链接到boost_regex库并且它可以工作。谁能帮我?感谢。

1 个答案:

答案 0 :(得分:0)

结果是构建问题(即使make test仍然失败),我不再有未定义的错误。您的项目文件也在运行。

如果您还有问题,这里是我构建的共享和静态库:

libtriceps.zip(包含所有cpp目录) https://mega.co.nz/#!wENQUQoK!LIbeVH8gB94oS-zBrIlGHQ0iAICiRW6dOx620AInh0o

如果你仍然有问题,请确保你做得很好,并使用qmake重新生成一个新的Makefile