Missing WServer with ISAPI
Added by Matt Russell almost 9 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 over 8 years ago
Try using Wt::WRun instead of Wt::WServer