[sword-devel] SWORD 1.9.0RC3 Available - Windows
Greg Hellings
greg.hellings at gmail.com
Sun Oct 11 17:35:23 EDT 2020
Gary,
I have prepared the changes for #1 and 4 below.
For #3 try defining CLUCENE_HOME with -DCLUCENE_HOME=../../some/path/ to
where you built and installed CLucene. That *should* allow
FindCLucene.cmake to locate the files appropriately.
Now, if I could just ever remember my SVN password to make a commit to the
source tree! Shame we can't have SSH transport for commits!
--Greg
On Sun, Oct 11, 2020 at 3:01 PM Greg Hellings <greg.hellings at gmail.com>
wrote:
>
>
> 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/15d92aea/attachment.html>
More information about the sword-devel
mailing list