Project

General

Profile

Missing WServer with ISAPI

Added by Matt Russell about 8 years ago

I've been following the documentation [[[http://redmine.webtoolkit.eu/projects/wt/wiki/ISAPI_on_Microsoft_IIS]]] and some issues on the forum here:[[[http://redmine.webtoolkit.eu/boards/2/topics/10381]]], but I still run into the issue of missing WServer symbols.

I've added the definition WTHTTP_STATIC to no avail. :(

I'm building a DLL, linking against wtisapi.lib, exporting the ISAPI symbols.

By compile line is (I've edited out some irrelevant stuff and added line breaks for legibility):

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\CL.exe
        /c
        /IC:\Users\mrussell\workspace\opal2\3dri\Applications\OPAL2\3DRiWebScheduler\include
        /IC:\Users\mrussell\workspace\opal2\3dri\..\o2win64\Libs\Wt\3.3.4\include
        /IC:\Users\mrussell\workspace\opal2\3dri\..\o2win64\Libs\WML\3.x\include
        /IC:\Users\mrussell\workspace\opal2\3dri\..\o2win64\Libs\WML\3.x\include\system
        /IC:\Qt\Qt5.3.2\5.3\msvc2013_64_opengl\include
        /IC:\Qt\Qt5.3.2\5.3\msvc2013_64_opengl\include\QtWidgets
        /IC:\Qt\Qt5.3.2\5.3\msvc2013_64_opengl\include\QtGui
        /IC:\Qt\Qt5.3.2\5.3\msvc2013_64_opengl\include\QtCore
        /I"C:\Qt\Qt5.3.2\5.3\msvc2013_64_opengl\mkspecs\win32-msvc2013"
        /nologo
        /W3 /WX- /MP /O2 /Ob2

        /D WTHTTP_STATIC
        /D WT_NO_SLOT_MACROS
        /D WIN32

        /D _WINDOWS
        /D NDEBUG
        /D UNICODE
        /D _UNICODE
        /D WIN32_LEAN_AND_MEAN
        /D _WIN32_WINNT=0x0501
        /D BOOST_ALL_DYN_LINK
        /D NOMINMAX
        /D _SCL_SECURE_NO_WARNINGS
        /D USE_DEV_PLUGINS
        /D DISABLE_OPENNI
        /D QT_NO_KEYWORDS
        /D QT_WIDGETS_LIB
        /D QT_GUI_LIB
        /D QT_CORE_LIB
        /D QT_NO_DEBUG
        /D "CMAKE_INTDIR=\"Release\""
        /D _3DRiWebSchedulerISAPI_EXPORTS
        /D _WINDLL
        /D _UNICODE
        /D UNICODE
        /Gm-
        /EHsc
        /MD
        /GS
        /fp:precise
        /Zc:wchar_t
        /Zc:forScope
        /GR
        /Fo"3DRiWebSchedulerISAPI.dir\Release\\"
        /Fd"3DRiWebSchedulerISAPI.dir\Release\vc120.pdb"
        /Gd
        /TP
        /wd4503
        /errorReport:queue
        /bigobj
        C:\Users\mrussell\workspace\opal2\3dri\Applications\OPAL2\3DRiWebScheduler\main.cpp
        "C:\Users\mrussell\workspace\opal2\build-3dri-o2win64-release\Applications\OPAL2\3DRiWebScheduler\3DRiWebSchedulerISAPI_automoc.cpp"
         main.cpp
         3DRiWebSchedulerISAPI_automoc.cpp


       Link:
         C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\link.exe /ERRORREPORT:QUEUE /OUT:"C:\Users\mrussell\workspace\opal2\build-3dri-o2win64-release\Applications\OPAL2\3DRiWebScheduler\Release\3DRiWebSchedulerISAPI.dll" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib Release\WebSchedulerDataProcessorLib.lib
    Release\WebApplication.lib

    C:\Users\mrussell\workspace\opal2\o2win64\Libs\Wt\3.3.4\lib\wt.lib
    C:\Users\mrussell\workspace\opal2\o2win64\Libs\Wt\3.3.4\lib\wtdbo.lib
    C:\Users\mrussell\workspace\opal2\o2win64\Libs\Wt\3.3.4\lib\wtdbosqlite3.lib

    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_date_time-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_thread-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_system-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_program_options-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_unit_test_framework-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_filesystem-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_chrono-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_regex-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_iostreams-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_signals-vc120-mt-1_56.lib"
    C:\Qt\Qt5.3.2\5.3\msvc2013_64_opengl\lib\Qt5Widgets.lib

    C:\Users\mrussell\workspace\opal2\o2win64\Libs\Wt\3.3.4\lib\wtisapi.lib

    Release\SimpleLogger.lib
    Release\Serializer.lib
    Release\Helpers.lib
    C:\Qt\Qt5.3.2\5.3\msvc2013_64_opengl\lib\Qt5Gui.lib
    C:\Qt\Qt5.3.2\5.3\msvc2013_64_opengl\lib\Qt5Core.lib
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_date_time-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_thread-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_system-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_program_options-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_unit_test_framework-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_filesystem-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_chrono-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_regex-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_iostreams-vc120-mt-1_56.lib"
    "C:\Users\mrussell\workspace\opal2\o2win64\Libs\boost\1.56\lib\boost_signals-vc120-mt-1_56.lib"
    C:\Users\mrussell\workspace\opal2\o2win64\Libs\zlib\1.2.8\lib\zlib1.lib
    wsock32.lib
    /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'"
    /manifest:embed
    /PDB:"C:/Users/mrussell/workspace/opal2/build-3dri-o2win64-release/Applications/OPAL2/3DRiWebScheduler/Release/3DRiWebSchedulerISAPI.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/Users/mrussell/workspace/opal2/build-3dri-o2win64-release/Applications/OPAL2/3DRiWebScheduler/Release/3DRiWebSchedulerISAPI.lib" /MACHINE:X64  /machine:x64

    /EXPORT:HttpExtensionProc /EXPORT:GetExtensionVersion /EXPORT:TerminateExtension

    /DLL 3DRiWebSchedulerISAPI.dir\Release\main.obj

I still get the errors:

       "C:\Users\mrussell\workspace\opal2\build-3dri-o2win64-release\Applications\OPAL2\3DRiWebScheduler\3DRiWebSchedulerISAPI.vcxproj" (default target) (1) ->
       (Link target) ->
         WebSchedulerDataProcessorLib.lib(3DRiWebScheduler.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl Wt::WServer::WServer(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_??0WServer`Wt@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0`Z) referenced in function "class std::unique_ptr<class Wt::WServer,struct std::default_delete<class Wt::WServer> > __cdecl OPAL2::Memory::make_unique<class Wt::WServer,char * &>(char * &)" (??$make_unique`VWServer@Wt@@AEAPEAD@Memory@OPAL2@@YA?AV?$unique_ptr@VWServer@Wt@@U?$default_delete@VWServer@Wt@@@std@@@std@@AEAPEAD`Z) [C:\Users\mrussell\workspace\opal2\build-3dri-o2win64-release\Applications\OPAL2\3DRiWebScheduler\3DRiWebSchedulerISAPI.vcxproj]
         WebSchedulerDataProcessorLib.lib(3DRiWebScheduler.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl Wt::WServer::setServerConfiguration(int,char * * const,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_?setServerConfiguration`WServer@Wt@@QEAAXHQEAPEADAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@`Z) referenced in function "public: virtual bool __cdecl DataProcessor::WebScheduler::Run(void)" (?Run`WebScheduler@DataProcessor@`UEAA_NXZ) [C:\Users\mrussell\workspace\opal2\build-3dri-o2win64-release\Applications\OPAL2\3DRiWebScheduler\3DRiWebSchedulerISAPI.vcxproj]
         WebSchedulerDataProcessorLib.lib(3DRiWebScheduler.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __cdecl Wt::WServer::start(void)" (__imp_?start`WServer@Wt@`QEAA_NXZ) referenced in function "public: virtual bool __cdecl DataProcessor::WebScheduler::Run(void)" (?Run`WebScheduler@DataProcessor@`UEAA_NXZ) [C:\Users\mrussell\workspace\opal2\build-3dri-o2win64-release\Applications\OPAL2\3DRiWebScheduler\3DRiWebSchedulerISAPI.vcxproj]
         WebSchedulerDataProcessorLib.lib(3DRiWebScheduler.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl Wt::WServer::stop(void)" (__imp_?stop`WServer@Wt@`QEAAXXZ) referenced in function "public: virtual bool __cdecl DataProcessor::WebScheduler::Halt(void)" (?Halt`WebScheduler@DataProcessor@`UEAA_NXZ) [C:\Users\mrussell\workspace\opal2\build-3dri-o2win64-release\Applications\OPAL2\3DRiWebScheduler\3DRiWebSchedulerISAPI.vcxproj]
         wtisapi.lib(Server.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __cdecl Wt::WServer::stop(void)" (__imp_?stop`WServer@Wt@`QEAAXXZ) [C:\Users\mrussell\workspace\opal2\build-3dri-o2win64-release\Applications\OPAL2\3DRiWebScheduler\3DRiWebSchedulerISAPI.vcxproj]
         WebSchedulerDataProcessorLib.lib(3DRiWebScheduler.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __cdecl Wt::WServer::isRunning(void)const " (__imp_?isRunning`WServer@Wt@`QEBA_NXZ) referenced in function "public: virtual bool __cdecl DataProcessor::WebScheduler::Halt(void)" (?Halt`WebScheduler@DataProcessor@`UEAA_NXZ) [C:\Users\mrussell\workspace\opal2\build-3dri-o2win64-release\Applications\OPAL2\3DRiWebScheduler\3DRiWebSchedulerISAPI.vcxproj]
         C:\Users\mrussell\workspace\opal2\build-3dri-o2win64-release\Applications\OPAL2\3DRiWebScheduler\Release\3DRiWebSchedulerISAPI.dll : fatal error LNK1120: 5 unresolved externals [C:\Users\mrussell\workspace\opal2\build-3dri-o2win64-release\Applications\OPAL2\3DRiWebScheduler\3DRiWebSchedulerISAPI.vcxproj]

    0 Warning(s)
    7 Error(s)

Help?

Thanks


Replies (2)

RE: Missing WServer with ISAPI - Added by Robert Tomek almost 8 years ago

Try using Wt::WRun instead of Wt::WServer

RE: Missing WServer with ISAPI - Added by yyyy yyyy almost 8 years ago

You forgot to link to wthttp?

    (1-2/2)