Wt 与 Qt,.pro 设置
Posted
技术标签:
【中文标题】Wt 与 Qt,.pro 设置【英文标题】:Wt with Qt, .pro settings 【发布时间】:2012-05-29 10:51:07 【问题描述】:我正在尝试让 Wt 与 Qt 一起工作。我已经安装了 1.47 boost 库,在 Windows 下使用 cmake 2.8.8 编译了 Wt (3.2.1)。厌倦了简单的 hello world 但无法编译,例如出现未定义的引用错误: 未定义对 `Wt::WApplication::WApplication(Wt::WEnvironment const&, Wt::WtLibVersion)'的引用
Here is my .pro file:
QT -= core
QT -= gui
INCLUDEPATH += ../../../lib/Wt/include \
../../../lib/boost_1_47 \
../../../lib/Wt/src
LIBS += -L../../../lib/Wt/lib \
-L../../../lib/boost_1_47/lib
win32:LIBS += -lwthttpd -lwtd -lboost_regex-vc100-mt-1_47
TARGET = HttpServerWt
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
这是我要编译的程序: http://www.webtoolkit.eu/wt/src/hello
【问题讨论】:
【参考方案1】:默认情况下,您的 WT 库可能会添加到 /usr/loca/lib
。所以相应地指定链接库[在检查它是否存在之后,否则检查/usr/lib
并相应地包含]。
设置LIBS
变量如下
LIBS += -L/usr/local/lib -lwtd -lwthttpd -lboost_regex-vc100-mt-1_47
在您的帖子中设置 INCLUDEPATH
变量时我没有发现任何问题。
还要确保在LIBS
变量中添加与Wt::WApplication::WApplication(Wt::WEnvironment const&, Wt::WtLibVersion)
对应的模块。
了解更多look here。
【讨论】:
ok 添加对应于 windows 的路径,而不是 LIBS 中的 -L/usr/local/lib += -L/usr/local/lib -lwtd -lwthttpd -lboost_regex-vc100-mt-1_47。 .那会做 不是已经用-L 和-l 完成了吗?感谢您的重播。 在 unix 上试过 .. 工作没有任何问题。可惜我在 Windows 上需要它。 我没有在windows中做过。但是 win32:LIBS += -lwthttpd -lwtd -lboost_regex-vc100-mt-1_47 对吗?或者 win32:LIBS += -L../../../lib/Wt/lib -lwthttpd -lwtd -lboost_regex-vc100-mt-1_47??? Erm .. 如果在前面加上这行也是一样的:LIBS += -L../../../lib/Wt/lib \ -L../../。 ./lib/boost_1_47/lib 然后添加:win32:LIBS += -lwthttpd -lwtd -lboost_regex-vc100-mt-1_47。我认为在 VS 中编译 Wt 可能存在问题。将google如何在Qt中编译并让你知道它是如何进行的。【参考方案2】:我认为您需要更多库,因为在 Ubuntu 中您需要添加两个以上的库才能使用 qt creator 编译 wt 代码。
这是我的 *.pro 文件
QT += core
QT -= gui
TARGET = prueba3
LIBS += -L/usr/lib -lwt -lwthttp -I/usr/local/include
LIBS += -L/usr/local/lib -lwthttp -lwt -lboost_regex -lboost_signals
LIBS += -lboost_system -lboost_thread -lboost_filesystem -lboost_date_time
#QMAKE_CXXFLAGS += -DNDEBUG
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
它编译/构建很好,最后你必须添加这一行来运行设置(ctrl+5)
--docroot . --http-address 0.0.0.0 --http-port 9090
【讨论】:
这又是一个unix版本的解决方案,看来我的问题没有正确形成:/ 我想告诉你,也许你需要添加那些其他库“-lboost_system -lboost_thread -lboost_filesystem -lboost_date_time” 欢迎堆栈溢出!问题指出了特定的缺失符号 - 我认为它在 WT 库之一中,与引导无关。以上是关于Wt 与 Qt,.pro 设置的主要内容,如果未能解决你的问题,请参考以下文章