2012-05-29 112 views
1

我想获得Wt与Qt合作。我已经安装了1.47 boost库,使用cmake 2.8.8在Windows下编译了Wt(3.2.1)。厌倦了简单的Hello World但不编译,得到例如未定义引用错误: 未定义的参考`重量:: WApplication :: WApplication(WT :: WEnvironment常量&,重量:: WtLibVersion)”重量与Qt,.pro设置

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

回答

0

可能,默认情况下,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

+0

请仔细阅读以上,使用Windows平台:( – krizajb

+0

ok在LIBS + = -L/usr/local/lib -lwtd -lwthttpd -lboost_regex-vc100-mt-1_47中添加相应于windows的路径而不是-L/usr/local/lib。那样会做 – ScarCode

+0

是不是已经完成使用-L和-l?谢谢你的重播。 – krizajb

0

我认为你需要更多的库,因为在Ubuntu中你需要添加两个以上的库来编译wt代码和qt creator。

这里是我的* .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 
+0

这又是一个unix版本解决方案,似乎我的问题没有正确形成:/ – krizajb

+0

我想告诉你,也许你需要添加那些其他库“-lboost_system -lboost_thread -lboost_filesystem -lboost_date_time” –

+0

欢迎来到堆栈溢出!这个问题指出了特定的缺失符号 - 我认为这是在WT库中的一个,与启动无关。 – qdot