[sword-devel] SWORD 1.9.0RC3 Available - Windows

Greg Hellings greg.hellings at gmail.com
Sun Oct 11 16:01:03 EDT 2020


On Sun, Oct 11, 2020, 11:21 Gary Holmlund <gary.holmlund at gmail.com> wrote:

> Troy and Greg,
>
> I have compiled BibleTime with Sword 1.8.903 on Windows. To do this I
> had to make 4 changes to cmake files. The first and last one are easy
> changes. The second and third will need more effort to decide how to
> properly fix them.
>
> Thanks for your great efforts.
>
> Gary Holmlund
>
>
> 1. Find ICU Quiet.
>
> 52c52
> < FIND_PACKAGE(ICU
> ---
>  > FIND_PACKAGE(ICU QUIET
>

This is curious. I wonder why.


>
>
> 2.I had to comment out the find of clucene.
>
> 55c55
> < FIND_PACKAGE(CLucene QUIET)
> ---
>  > #FIND_PACKAGE(CLucene QUIET)
>
>      If it is not commented out, I get this error.
>
>        CMake Error at cmake/FindCLucene.cmake:82 (FILE):
>        FILE failed to open for reading (No such file or directory):
> C:/bibletime-tmp/b5/sword-prefix/src/sword-build/./CLucene/clucene-config.h
>
>        NOTE: I find CLucene/clucene-config.h in the include directory.
>

There should be a series of search paths it looks through. I'm not at my
computer right now to check, but if you define the search paths this should
be unnecessary. Tobias, I think, has a build script that demonstrates
defining the search path for CLucene.


>
>
> 3. buildtest.exe build error - I comment out the building of
> buildtest.exe in CMakeLists.txt
>
> 272,277c272,277
> < ADD_EXECUTABLE(buildtest buildtest.cpp)
> < IF(BUILDING_STATIC)
> <       TARGET_LINK_LIBRARIES(buildtest sword_static)
> < ELSE(BUILDING_STATIC)
> <       TARGET_LINK_LIBRARIES(buildtest sword)
> < ENDIF(BUILDING_STATIC)
> ---
>  > #ADD_EXECUTABLE(buildtest buildtest.cpp)
>  > #IF(BUILDING_STATIC)
>  > #     TARGET_LINK_LIBRARIES(buildtest sword_static)
>  > #ELSE(BUILDING_STATIC)
>  > #     TARGET_LINK_LIBRARIES(buildtest sword)
>  > #ENDIF(BUILDING_STATIC)
>
> Here are the errors I got without this change.
>
> buildtest.cpp
> 5>C:\bibletime-tmp\sword\include\swkey.h(92,32): warning C4251:
> 'sword::SWKey::localeCache': class 'sword::SWKey::LocaleCache' needs to
> have dll-interface to be used by clients of class 'sword::SWKey'
> [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
> 5>C:\bibletime-tmp\sword\include\swkey.h(79): message : see declaration
> of 'sword::SWKey::LocaleCache'
> [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
> 5>C:\bibletime-tmp\sword\include\swconfig.h(125,34): warning C4251:
> 'sword::SWConfig::Sections': class
> 'std::map<sword::SWBuf,sword::ConfigEntMap,std::less<sword::SWBuf>,std::allocator<std::pair<const
>
> sword::SWBuf,sword::ConfigEntMap>>>' needs to have dll-interface to be
> used by clients of class 'sword::SWConfig'
> [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
> 5>C:\bibletime-tmp\sword\include\swconfig.h(36): message : see
> declaration of
> 'std::map<sword::SWBuf,sword::ConfigEntMap,std::less<sword::SWBuf>,std::allocator<std::pair<const
>
> sword::SWBuf,sword::ConfigEntMap>>>'
> [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
> 5>C:\bibletime-tmp\sword\include\swmodule.h(118,24): warning C4251:
> 'sword::SWModule::ownConfig': class
> 'sword::multimapwithdefault<sword::SWBuf,sword::SWBuf,std::less<sword::SWBuf>>'
>
> needs to have dll-interface to be used by clients of class
> 'sword::SWModule'
> [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
> 5>C:\bibletime-tmp\sword\include\swconfig.h(35): message : see
> declaration of
> 'sword::multimapwithdefault<sword::SWBuf,sword::SWBuf,std::less<sword::SWBuf>>'
>
> [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
> 5>C:\bibletime-tmp\sword\include\swmodule.h(120,43): warning C4251:
> 'sword::SWModule::entryAttributes': class
> 'std::map<sword::SWBuf,sword::AttributeList,std::less<sword::SWBuf>,std::allocator<std::pair<const
>
> sword::SWBuf,sword::AttributeList>>>' needs to have dll-interface to be
> used by clients of class 'sword::SWModule'
> [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
> 5>C:\bibletime-tmp\sword\include\swmodule.h(78): message : see
> declaration of
> 'std::map<sword::SWBuf,sword::AttributeList,std::less<sword::SWBuf>,std::allocator<std::pair<const
>
> sword::SWBuf,sword::AttributeList>>>'
> [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
> 5>C:\bibletime-tmp\sword\include\swmodule.h(142,30): warning C4251:
> 'sword::SWModule::rawdisp': class 'sword::SWModule::StdOutDisplay' needs
> to have dll-interface to be used by clients of class 'sword::SWModule'
> [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
> 5>C:\bibletime-tmp\sword\include\swmodule.h(107): message : see
> declaration of 'sword::SWModule::StdOutDisplay'
> [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
> 5>     Creating library
> C:/bibletime-tmp/b6/sword-prefix/src/sword-build/Release/buildtest.lib
> and object
> C:/bibletime-tmp/b6/sword-prefix/src/sword-build/Release/buildtest.exp
> 5>buildtest.obj : error LNK2019: unresolved external symbol "public:
> static char * sword::SWBuf::nullStr" (?nullStr at SWBuf@sword@@2PADA)
> referenced in function "public: __thiscall std::pair<class sword::SWBuf
> const ,class sword::multimapwithdefault<class sword::SWBuf,class
> sword::SWBuf,struct std::less<class sword::SWBuf> > >::pair<class
> sword::SWBuf const ,class sword::multimapwithdefault<class
> sword::SWBuf,class sword::SWBuf,struct std::less<class sword::SWBuf> >
>  ><class sword::SWBuf &&>(struct std::piecewise_construct_t,class
> std::tuple<class sword::SWBuf &&>,class std::tuple<>)"
> (??$?0$$QAVSWBuf at sword@@$$Z$$V@?$pair@$$CBVSWBuf at sword
> @@V?$multimapwithdefault at VSWBuf@sword@@V12 at U?$less at VSWBuf@sword@@@std@@@2@
> @std@@QAE at Upiecewise_construct_t@1 at V?$tuple@$$QAVSWBuf at sword@@@1 at V?$tuple@
> $$V at 1@@Z)
> [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
> 5>C:\bibletime-tmp\b6\sword-prefix\src\sword-build\Release\buildtest.exe
> : fatal error LNK1120: 1 unresolved externals
> [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
> 5>Done building project "sword.vcxproj" -- FAILED.
>

This might be a question for Troy. I wonder if these are based on the
deprecations he has done this cycle?


>
>
>
> 4. I also ran into the problem in cmake/options.cmake that ZdPo Ster found.
>
> 29c29
> <       SET(SWORD_INSTALL_DIR "C:\\Program Files (x86)\\libsword\\")
> ---
>  >       SET(SWORD_INSTALL_DIR "C:/Program Files (x86)/libsword")
>
> NOTE: I override this value externally anyway.
>

Thanks for the confirmation.

I'll get in fixes for 1 and 4 this evening when I'm back from the last pool
day of the season. I'll look more closely at 3 as well. Let me know if you
can resolve 2 with search path arguments or if I need to expose one of
those from the find file.

--Greg

>
>
>
>
>
>
>
>
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://crosswire.org/pipermail/sword-devel/attachments/20201011/39db9b11/attachment-0001.html>


More information about the sword-devel mailing list