在Mac OS X上将Poco C ++库包含在Qt Quick Application(Qt Creator)中

时间:2015-04-02 10:34:02

标签: c++ macos qt qt-creator poco

我在构建包含Poco C ++库的Qt项目时遇到了一些问题和麻烦。

我成功编译了Poco,就像他们在documentation中使用终端和make而不是gmake所描述的那样,使用以下配置(为达尔文配置):

./configure --omit=Data/ODBC,Data/MySQL --no-tests --no-samples --static

执行make -s install后,库(.a和.dylib)和标题文件位于/usr/local/usr/local/include/Poco

然后我创建了一个新的Qt Quick Application(使用Qt Creator)并使用以下行编辑了我项目的.pro文件:

INCLUDEPATH += /usr/local/include
LIBS += -L"/usr/local/lib" -lPocoFoundationd -lPocoJSONd -lPocoNetd -lPocoUtild -lPocoXMLd
LIBS += -L"/usr/local/lib" -lPocoFoundation -lPocoJSON -lPocoNet -lPocoUtil -lPocoXML

在我的Qt项目的main.cpp文件中使用Poco时,例如Poco::Path

#include <QApplication>
#include <QQmlApplicationEngine>
#include "Poco/Path.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));

    Poco::Path p(true); // path will be absolute
    p.setNode("VMS001");

    return app.exec();
}

它没有构建。找到头文件,自动完成也可以。但我有两个错误:

:-1: error: symbol(s) not found for architecture x86_64
:-1: error: linker command failed with exit code 1 (use -v to see invocation)

我还尝试过编译Poco的其他配置,使用&#34;添加库...&#34; Qt Creator对话框并将标题和库文件复制到我的项目目录中(当然也改变了.pro文件中的路径)。希望任何人都可以帮助我或在OS X上使用Poco创建一个Qt项目并且它可以工作; - )

最后一些环境信息:

  • Qt Creator 3.3.2(opensource)
  • 基于Qt 5.4.1(Clang 6.0(Apple),64位)
  • OS X版本:10.10.2
  • Poco C ++(基础版)版本:1.6.0

1 个答案:

答案 0 :(得分:0)

在撰写这篇文章时,我提出了以下想法:在我的项目中启用了C ++ 11吗?看似不,不。所以我添加了

# Enables C++11. Qt 5+ required
CONFIG += c++11

到我的.pro文件和voilà,它有效!