【发布时间】:2015-06-30 09:00:37
【问题描述】:
我正在使用SMTP Client 项目在 Windows 上创建一个库文件 (.dll)。一切正常,电子邮件发送成功。
我想将我的 Qt 项目移植到 Android,由于 Android 是一个不同的架构,我需要使用 Android armv7 工具包构建库。
我试试这个,但我得到了错误:
内部错误:未知的 Android 部署 JSON 文件位置。 构建/部署项目 SMTPEmail 时出错(套件:Android for armeabi-v7a(GCC 4.9,Qt 5.4.2)) 执行步骤“构建 Android APK”时
我怀疑我必须从项目文件中添加/删除一些东西。我看到有一个“win32:CONFIG += dll”,但其他平台没有类似的。
.pro 文件如下所示:
#-------------------------------------------------
#
# Project created by QtCreator 2011-08-11T20:59:25
#
#-------------------------------------------------
QT += core network
TARGET = SMTPEmail
# Build as an application
#TEMPLATE = app
# Build as a library
TEMPLATE = lib
DEFINES += SMTP_BUILD
win32:CONFIG += dll
QMAKE_CXXFLAGS += -fPIC
SOURCES += \
src/emailaddress.cpp \
src/mimeattachment.cpp \
src/mimefile.cpp \
src/mimehtml.cpp \
src/mimeinlinefile.cpp \
src/mimemessage.cpp \
src/mimepart.cpp \
src/mimetext.cpp \
src/smtpclient.cpp \
src/quotedprintable.cpp \
src/mimemultipart.cpp \
src/mimecontentformatter.cpp \
HEADERS += \
src/emailaddress.h \
src/mimeattachment.h \
src/mimefile.h \
src/mimehtml.h \
src/mimeinlinefile.h \
src/mimemessage.h \
src/mimepart.h \
src/mimetext.h \
src/smtpclient.h \
src/SmtpMime \
src/quotedprintable.h \
src/mimemultipart.h \
src/mimecontentformatter.h \
src/smtpexports.h
OTHER_FILES += \
LICENSE \
README.md
FORMS +=
【问题讨论】:
-
显然,QtCreator 5.5.0 在面向 Android 时无法构建简单的库。您是否尝试将模型应用程序(仅带有 main.cpp 文件)添加到您的项目中。这解决了我的问题。
-
我猜你的意思是 Qt 5.5.0。我会尝试,但我尝试使用 5.5.0 和 5.4.2 构建
-
是的,QtCreator 3.4.0 和 At 5.5.0。您可能需要一个顶级 .pro 文件 (
TEMPLATE = subdirs) 来包含库和虚拟应用程序。创建虚拟应用程序后,您需要在 Project/Run 页面中将其选为Run configuration。之后,我就可以编译我的库了。 -
@jpo38:您能否为我的问题创建一个答案并添加您的顶级 .pro 文件的外观,并解释在我的虚拟应用程序中哪里可以找到可执行文件?这对我有很大帮助,因为我不确定运行配置。
标签: android c++ qt email shared-libraries