On Sun, Oct 11, 2020, 11:21 Gary Holmlund <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 > 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