我在构建包含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项目并且它可以工作; - )
最后一些环境信息:
答案 0 :(得分:0)
在撰写这篇文章时,我提出了以下想法:在我的项目中启用了C ++ 11吗?看似不,不。所以我添加了
# Enables C++11. Qt 5+ required
CONFIG += c++11
到我的.pro文件和voilà,它有效!