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 设置的主要内容,如果未能解决你的问题,请参考以下文章

Qt界面优化:Qt应用程序设置

使用 Qt、Wt 或 NaCl 构建框架?

C++ Qt实现音视频播放

C++ Qt实现音视频播放

C++ Qt实现音视频播放

C++ Qt实现音视频播放