2014-02-12 37 views
0

我需要導入muparser庫到QtCreator。我用MinGW構建它們作爲靜態庫,結果我得到了libmuparser.a文件。 該庫位於C:\ muparser \ muparser_v2_2_3中。 這是我的.pro文件:包括muparser庫到QtCreator

QT  += core  
QT  -= gui  
INCLUDEPATH += C:\muparser\muparser_v2_2_3\include 
LIBS  += -LC:\muparser\muparser_v2_2_3\lib 

TARGET = muparsertest 
CONFIG += console 
CONFIG -= app_bundle 

TEMPLATE = app  

SOURCES += main.cpp 

這是我的主:

#include <QCoreApplication> 
#include <iostream> 
#include "muParser.h" 

using namespace mu;  

int main(int argc, char *argv[]) 
{ 
    QCoreApplication a(argc, argv); 

    Parser p; 

    return a.exec(); 
} 

列入工作,因爲一個空的Main我沒有得到任何錯誤,但是當我嘗試創建一個muparser對象就像在貼主,我得到這些錯誤:

error: undefined reference to `mu::Parser::Parser()' 
error: undefined reference to `vtable for mu::Parser' 
error: undefined reference to `mu::ParserBase::~ParserBase()' 
collect2.exe:-1: error: error: ld returned 1 exit status 

我在做什麼錯?

回答

1

這可能不是一個稱職的答案,但一些人士建議增加muparser庫目錄DEPENDPATH(見:http://www.qtcentre.org/threads/20258-Qt-and-muParser) 我的經驗是:一般muparser.dll再現了這樣那樣的問題。重新建造禁止在muparser Makefile中的「動態」選項,只需添加 LIBS + = /libmuparser.a 在你的.pro文件。