【问题标题】:Wt with Qt, .pro settingsWt 与 Qt,.pro 设置
【发布时间】: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

【问题讨论】:

    标签: qt wt


    【解决方案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 库之一中,与引导无关。
    猜你喜欢
    • 2017-08-11
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 2018-06-27
    • 2018-11-03
    • 1970-01-01
    • 2020-09-22
    相关资源
    最近更新 更多