On 10/11/2020 2:35 PM, Greg Hellings wrote:
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.
#2, not #3
I got the FindClucene.cmake part working. Now I am faced with numerous
warning and a number of errors. See the attached file. At this point I
would be happy with a cmake switch that would bypass the
"FIND_PACKAGE(CLucene QUIET)"
Gary
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.helli...@gmail.com
<mailto:greg.helli...@gmail.com>> wrote:
On Sun, Oct 11, 2020, 11:21 Gary Holmlund <gary.holml...@gmail.com
<mailto:gary.holml...@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@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@sword@@$$Z$$V@?$pair@$$CBVSWBuf@sword@@V?$multimapwithdefault@VSWBuf@sword@@V12@U?$less@VSWBuf@sword@@@std@@@2@@std@@QAE@Upiecewise_construct_t@1@V?$tuple@$$QAVSWBuf@sword@@@1@V?$tuple@$$V@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@crosswire.org
<mailto:sword-devel@crosswire.org>
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
6> swmodule.cpp
6>C:\bibletime-tmp2\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-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\swkey.h(79): message : see declaration of
'sword::SWKey::LocaleCache'
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\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-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\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-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\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-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\swconfig.h(35): message : see declaration of
'sword::multimapwithdefault<sword::SWBuf,sword::SWBuf,std::less<sword::SWBuf>>'
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\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-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\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-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\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-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\swmodule.h(107): message : see declaration of
'sword::SWModule::StdOutDisplay'
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\treekeyidx.h(54,15): warning C4251:
'sword::TreeKeyIdx::currentNode': class 'sword::TreeKeyIdx::TreeNode' needs to
have dll-interface to be used by clients of class 'sword::TreeKeyIdx'
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\treekeyidx.h(42): message : see declaration
of 'sword::TreeKeyIdx::TreeNode'
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(68,7): error
C2143: syntax error: missing ';' before '*'
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(68,7): error
C4430: missing type specifier - int assumed. Note: C++ does not support
default-int [C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(68,15): error
C2238: unexpected token(s) preceding ';'
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(76,54): error
C4430: missing type specifier - int assumed. Note: C++ does not support
default-int [C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(76,35): error
C2143: syntax error: missing ',' before '*'
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(79,8): error
C2143: syntax error: missing ';' before '*'
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(79,8): error
C4430: missing type specifier - int assumed. Note: C++ does not support
default-int [C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(79,17): error
C2238: unexpected token(s) preceding ';'
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page