目前我正在學習使用名爲「三頭肌」的庫。我在linux平臺上使用qt-creator,編譯器是鐺聲。QT有第三方庫的未定義參考
的錯誤消息是
/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庫和它的作品。誰能幫我?謝謝。
你可以嘗試一個快速ldd libtriceps.so來看看是否有一些庫鏈接丟失? –
@BertrandMartel什麼是'ldd libtriceps.so'?謝謝! – sakonque
打開一個控制檯,到你的libtriceps.so目錄並鍵入ldd libtriceps.so(ldd將打印這個lib的共享庫) –