【发布时间】:2015-06-07 06:42:56
【问题描述】:
我在构建包括 Poco C++ 库的 Qt 项目时遇到了一些问题。
我使用 Terminal 和 make 而不是 gmake 成功编译了 Poco,如他们的 documentation 中所述,配置如下(为 Darwin 配置):
./configure --omit=Data/ODBC,Data/MySQL --no-tests --no-samples --static
执行make -s install后,库(.a和.dylib)和头文件位于/usr/local和/usr/local/include/Poco。
然后我创建了一个新的 Qt 快速应用程序(使用 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 的其他配置,使用 Qt Creator 的“添加库...”对话框并将头文件和库文件复制到我的项目目录中(当然还更改了 .pro 文件中的路径)。希望任何人都可以帮助我,或者在 OS X 上使用 Poco 创建一个 Qt 项目并且它可以工作;-)
最后是一些环境信息:
- Qt Creator 3.3.2(开源)
- 基于 Qt 5.4.1(Clang 6.0 (Apple),64 位)
- OS X 版本:10.10.2
- Poco C++(基础版)版本:1.6.0
【问题讨论】:
标签: c++ macos qt qt-creator poco