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



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.



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.




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.









_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to