<p dir="ltr">I never have finished getting the CMake system working for MSVC, so that is probably contributing to your woes. I never keep a Windows build system around long enough to fully test it.</p>
<p dir="ltr">In the Linux world, what distro are you using? All of the dependencies for cross compile are presently available from the repositories in Fedora, and probably on SuSE. Other distros you&#39;re going to be on your own, but you could derive your build process from one of those two. I maintain a cross compile of sword that sits on top of the Fedora mingw toolchain if you want to use it.</p>
<p dir="ltr">--Greg</p>
<div class="gmail_quote">On Jan 1, 2015 10:55 PM, &quot;Daniel Sheffield&quot; &lt;<a href="mailto:d.j.yotta@gmail.com">d.j.yotta@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>I have tried both windows as build machine and linux as build machine.<br><b>In the windows case</b>, I used mingw for anything that could be built using gnumake (sometimes using cmake to get the Makefiles).<br>ICU couldn&#39;t be built with cmake it seams, so I built that with visual studio.<br>libsword wouldn&#39;t build with cmake (would always fail to link the dll - very last step - I&#39;d end up with a .dll.a and .a file.<br></div>In the windows case, I have never been able to link against libsword.dll that I built (undefined reference to blah) - probably because of the mix of MSVC and minGW compilers.<br></div>I did manage to link against xiphos&#39; libsword, but suffered runtime issues on program startup - without any calls being made to the SWORD engine.<br></div>I also was able to simply add all the libsword object files to the command line and everything compiled fine - but this seems like the wrong way to do it.<br><b><br></b><div><div><div><div><b>In the linux case</b>, I used mxe to provide the cmake toolchain which has worked a lot better.<br></div><div>ICU still gives me trouble but I have managed to cross-compile it with mingw now.<br></div><div>I&#39;m now blocked by an issue that mxe comes with icu51 includes - but no libs - which is of course causing issues with my build of icu54.<br></div><div>I guess I can simply try building icu51 and see if I can link then.<br></div><div></div><div><br></div></div></div></div></div><div class="gmail_extra"><br clear="all"><div><div>--<br>In the beginning Kibo created the Internet. Now the Internet was formless, and empty. Randomness was upon the face of computing, and the Spirit of ARPA moved upon the face of the computers. Then Kibo said, &quot;Let there be data&quot;: and there was data. Kibo saw the data, and it was good, so Kibo divided the data from the randomness, and Kibo named the data Information, and the randomness Clueless. And the Information and the Clueless were the first Network.</div></div>
<br><div class="gmail_quote">On Thu, Jan 1, 2015 at 3:14 PM, Greg Hellings <span dir="ltr">&lt;<a href="mailto:greg.hellings@gmail.com" target="_blank">greg.hellings@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">When you are trying to compile with mingw, what is your host environment? Karl Kleinpaste and I build for Windows with the mingw toolchain from Linux on a regular basis.</p>
<p dir="ltr">If you are building the latest release of sword (1.7.4) with cmake+mingw you will likely find that the .dll is stored in the bin/ folder and not in the lib/ folder. This is because Windows needs the dll to be accessible on the same path as the executable (that&#39;s probably why you had run time problems linking against the version from Xiphos).</p><span><font color="#888888">
<p dir="ltr">--Greg</p></font></span><div><div>
<div class="gmail_quote">On Dec 31, 2014 9:03 PM, &quot;Daniel Sheffield&quot; &lt;<a href="mailto:d.j.yotta@gmail.com" target="_blank">d.j.yotta@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Hi Jon,<br><br></div>Yeah, I hadn&#39;t done all the steps correctly - nevertheless MSVS was still generating the dll.<br></div>It appears it&#39;s a mingw/msvc interoperability issue because the dll is generated but I can&#39;t link against it.<br><br></div><div>I can&#39;t seem to build it with cmake either. I get as far as the libsword.a and libsword.dll.a but no libsword.dll. When I put those in my build dir and link: -llibsword<br>compiles fine but then I get run-time error libsword.dll missing.<br><br>:(<br></div></div><div class="gmail_extra"><br clear="all"><div><div>--<br>In the beginning Kibo created the Internet. Now the Internet was formless, and empty. Randomness was upon the face of computing, and the Spirit of ARPA moved upon the face of the computers. Then Kibo said, &quot;Let there be data&quot;: and there was data. Kibo saw the data, and it was good, so Kibo divided the data from the randomness, and Kibo named the data Information, and the randomness Clueless. And the Information and the Clueless were the first Network.</div></div>
<br><div class="gmail_quote">On Thu, Jan 1, 2015 at 1:45 PM, Jon Behrens <span dir="ltr">&lt;<a href="mailto:biz@crimsonthread.com" target="_blank">biz@crimsonthread.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hi Daniel<br>
    Since your problem is in the flatapi, continue in the instructions
    for the c# bindings.<br>
    There are some changes that need to be made in the dll export
    declaration to get<br>
    it to work with Windows. Those are steps 5 and 6 of the tutorial.
    Also, in step 9, you<br>
    need to make sure that the dlls listed are in the same directory as
    your project output<br>
    (or in a lib path)<br>
    Jon<div><div><br>
    <div>On 12/31/2014 4:04 PM, Daniel Sheffield
      wrote:<br>
    </div>
    </div></div><blockquote type="cite"><div><div>
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>
                <div>Hi Jon,<br>
                  <br>
                </div>
                Thanks for that help, I changed icu-sword dir back to
                icu (it really is the latest icu - not icu-sword!), and
                rebuilt the dll.<br>
              </div>
              Still can&#39;t link to it: -lsword -licuuc54 -licuin54
              -licudt54<br>
            </div>
            Linker doesn&#39;t complain can&#39;t find lib or anything, but
            still outputs the errors in my prior message.<br>
          </div>
          undefined reference to
          &#39;<a>sword:SWModule\SWMgr\SWkey\SWBuf\MarkupFilterMgr</a>&#39; - which
          appear to all be in flatapi.h so I really don&#39;t know why they
          aren&#39;t their after following the directions here: <a href="http://www.crosswire.org/wiki/CSharp_Bindings_on_Windows" target="_blank">http://www.crosswire.org/wiki/CSharp_Bindings_on_Windows</a><br>
          <br>
        </div>
        Cheers for your help,<br>
        Daniel<br>
      </div>
      <div class="gmail_extra"><br clear="all">
        <div>
          <div>--<br>
            In the beginning Kibo created the Internet. Now the Internet
            was formless, and empty. Randomness was upon the face of
            computing, and the Spirit of ARPA moved upon the face of the
            computers. Then Kibo said, &quot;Let there be data&quot;: and there
            was data. Kibo saw the data, and it was good, so Kibo
            divided the data from the randomness, and Kibo named the
            data Information, and the randomness Clueless. And the
            Information and the Clueless were the first Network.</div>
        </div>
        <br>
        <div class="gmail_quote">On Thu, Jan 1, 2015 at 8:03 AM, Jon
          Behrens <span dir="ltr">&lt;<a href="mailto:jbb@crimsonthread.com" target="_blank">jbb@crimsonthread.com</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello
            Daniel<br>
            Look here <a href="http://www.crosswire.org/wiki/CSharp_Bindings_on_Windows" target="_blank">http://www.crosswire.org/wiki/CSharp_Bindings_on_Windows</a><br>
            The first section of this tutorial deals with changes needed
            to get Sword 1.7.3 to build<br>
            with VS2013. You can ignore the remainder.<br>
            Be blessed,<br>
            Jon
            <div>
              <div><br>
                On 12/30/2014 8:29 PM, Daniel Sheffield wrote:<br>
              </div>
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div>
                <div>
                  Hi all,<br>
                  <br>
                  I&#39;ve been having trouble building libsword.dll for
                  windows.<br>
                  I&#39;ve followed the information here: <a href="http://www.crosswire.org/wiki/Tutorial:Compiling_%26_Installing_SWORD_on_Windows" target="_blank">http://www.crosswire.org/wiki/Tutorial:Compiling_%26_Installing_SWORD_on_Windows</a><br>
                  <br>
                  Finally figured out (searching the sword-devel
                  archives) that all I needed to do was rename icu to
                  icu-sword and similarly rename the curl output dir to
                  what MSVS was expecting and I was able to build the
                  solution.<br>
                  <br>
                  However: I can&#39;t seem to link against the
                  libsword.dll/libsword.lib.<br>
                  The only way I have been able to successfully build my
                  project with libsword is by adding objects.a
                  (generated by cross-compiling libsword on linux using
                  mxe) to the list of sources which effectively copies
                  all the objects in.<br>
                  <br>
                  This is what I get at compile time when I link against
                  libsword.dll<br>
                  agents\sword\sword.o:sword.cpp:(.text+0x41): undefined
                  reference to `<a>sword::MarkupFilterMgr::MarkupFilterMgr(char</a>,
                  char)&#39;<br>
                  agents\sword\sword.o:sword.cpp:(.text+0x5c): undefined
                  reference to `<a>sword::SWMgr::SWMgr(sword::SWFilterMgr*</a>,
                  bool)&#39;<br>
                  agents\sword\sword.o:sword.cpp:(.text+0x95): undefined
                  reference to `<a>sword::SWKey::SWKey(char</a> const*)&#39;<br>
                  agents\sword\sword.o:sword.cpp:(.text+0xb5): undefined
                  reference to `<a>sword::SWKey::~SWKey()</a>&#39;<br>
                  agents\sword\sword.o:sword.cpp:(.text+0xdd): undefined
                  reference to `<a>sword::SWModule::renderText(char</a> const*,
                  int, bool)&#39;<br>
                  agents\sword\sword.o:sword.cpp:(.text+0x10b):
                  undefined reference to `<a>sword::SWMgr::~SWMgr()</a>&#39;<br>
                  agents\sword\sword.o:sword.cpp:(.text+0x129):
                  undefined reference to `<a>sword::SWKey::~SWKey()</a>&#39;<br>
                  agents\sword\sword.o:sword.cpp:(.text+0x13a):
                  undefined reference to `<a>sword::SWMgr::~SWMgr()</a>&#39;<br>
                  agents\sword\sword.o:sword.cpp:(.text$_ZN5sword5SWBufD1Ev[__ZN5sword5SWBufD1Ev]+0xfffffe6c):
                  undefined reference to `<a>sword::SWBuf::nullStr</a>&#39;<br>
                  <br>
                  These compile time errors disappear when I add
                  objects.a to the list of sources AND there are no
                  run-time errors either (despite neither linking
                  against icu).<br>
                  <br>
                  I have no idea whats going on. Perhaps it&#39;s because I
                  build libsword.dll with MS Visual Studio and am trying
                  to link it with MinGW&#39;s g++...<br>
                  <br>
                  If anyone can help I&#39;d appreciate it!<br>
                  <br>
                  Daniel Sheffield<br>
                  <br>
                  Associate Engineer - Software<br>
                  Level 2, Building A, The Millennium Building Phase 2,
                  600 Great South Road<br>
                  Ellerslie,<br>
                  Auckland,<br>
                  1051<br>
                  <br>
                  <a href="tel:%2B64%209%20926%202895" value="+6499262895" target="_blank">+64 9 926 2895</a> Office<br>
                  <a href="tel:%2B64%2021%201408%20708" value="+64211408708" target="_blank">+64 21 1408 708</a> Mobile<br>
                  <a href="http://www.emulex.com" target="_blank">http://www.emulex.com</a><br>
                  <br>
                  On Tue, 30 Dec 2014, Troy A. Griffitts wrote:<br>
                  <br>
                  <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    Done.  Thanks for subscribing!<br>
                    <br>
                    <br>
                    On 12/30/2014 03:21 PM, Daniel Sheffield wrote:<br>
                    <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      Sorry to bother you yet again...<br>
                      I filled out some form <a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
                      and was directed to send an e-mail to
                      sword-support to verify I am not a robot.<br>
                      My question is when my e-mail and password will be
                      active on sword-devel. I just tried it now and was
                      rejected.<br>
                      <br>
                      I&#39;m aware this all takes time - I&#39;m not in a rush
                      - just checking that I&#39;ve actually completed all
                      the steps to subscribe.<br>
                      <br>
                      Cheers,<br>
                      <br>
                      Daniel Sheffield<br>
                      <br>
                      Associate Engineer - Software<br>
                      Level 2, Building A, The Millennium Building Phase
                      2, 600 Great South Road<br>
                      Ellerslie,<br>
                      Auckland,<br>
                      1051<br>
                      <br>
                      <a href="tel:%2B64%209%20926%202895" value="+6499262895" target="_blank">+64 9 926
                        2895</a> Office<br>
                      <a href="tel:%2B64%2021%201408%20708" value="+64211408708" target="_blank">+64 21 1408
                        708</a> Mobile<br>
                      <a href="http://www.emulex.com" target="_blank">http://www.emulex.com</a><br>
                      <br>
                      On Tue, 30 Dec 2014, Peter von Kaehne wrote:<br>
                      <br>
                      <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                        <br>
                        Daniel, i think you should subscribe to
                        sword-devel. Sword support is more about people
                        not being<br>
                        able to understand the programms they downloaded
                        etc. I am sure your problem has been discussed<br>
                        several times on that list.<br>
                        <br>
                        Biblecs might be a VS programme, but most others
                        use msys which is a pared down unixy<br>
                        buildenvironment<br>
                        <br>
                        On 30 Dec 2014 20:49, Daniel Sheffield &lt;<a href="mailto:d.j.yotta@gmail.com" target="_blank">d.j.yotta@gmail.com</a>&gt;
                        wrote:<br>
                              Yeah, I&#39;ve stumbled accross MSYS which
                        appears to a particular build environment on<br>
                              windows?<br>
                        <br>
                        In regards to my linking issuse, the latest news
                        is that I have managed to link against the<br>
                        libsword.dll.a and, because of the run time
                        errors, tracked the undefined references down to<br>
                        the icu*54.dlls. I&#39;ll try recompiling them (I
                        also downloaded pre-compiled ones for icu too -<br>
                        dunno if I&#39;ve tried those).<br>
                        <br>
                        I don&#39;t know why, but when I use libsword.a
                        instead of libsword.dll.a, I get neither compile<br>
                        time nor run time errors. Then again, I haven&#39;t
                        tried actually calling the sword functions yet<br>
                        in my windows port - just wanted it to compile
                        first!<br>
                        <br>
                        Atm, I&#39;m reading up about all these forms of
                        library files. I think that will help me figure<br>
                        out what is going on.<br>
                        <br>
                        Cheers,<br>
                        Daniel<br>
                        <br>
                        -- <br>
                        In the beginning Kibo created the Internet. Now
                        the Internet was formless, and empty.<br>
                        Randomness was upon the face of computing, and
                        the Spirit of ARPA moved upon the face of the<br>
                        computers. Then Kibo said, &quot;Let there be data&quot;:
                        and there was data. Kibo saw the data, and it<br>
                        was good, so Kibo divided the data from the
                        randomness, and Kibo named the data Information,<br>
                        and the randomness Clueless. And the Information
                        and the Clueless were the first Network.<br>
                        <br>
                        On Wed, Dec 31, 2014 at 12:37 AM, Peter von
                        Kaehne &lt;<a href="mailto:refdoc@crosswire.org" target="_blank">refdoc@crosswire.org</a>&gt;
                        wrote:<br>
                              Not a programmer, but i am thinking , most
                        things are done successfully via msys<br>
                              rather than via MS stuff.<br>
                        <br>
                              On 30 Dec 2014 05:34, Daniel Sheffield
                        &lt;<a href="mailto:d.j.yotta@gmail.com" target="_blank">d.j.yotta@gmail.com</a>&gt;
                        wrote:<br>
                              &gt;<br>
                              &gt; Hi,<br>
                              &gt;<br>
                              &gt; I develop mainly on linux and have
                        been linking to the sword library for a<br>
                              project I&#39;m working on (bibq hosted on
                        sourceforge).<br>
                              &gt;<br>
                              &gt; I have ported my project also to
                        windows, but have been having difficulty<br>
                              compiling libsword.dll.<br>
                              &gt; Xiphos was the only package I could
                        find that had this dill precompiled and I<br>
                              tried using that.<br>
                              &gt; After suffering dll hell, I finally
                        managed to find all the dlls the xiphos<br>
                              libsword.dll depended on only to have
                        missing functions at runtime.<br>
                              &gt;<br>
                              &gt; Idealy, I want to compile
                        libsword.dll from scratch but I have tried every
                        which<br>
                              way to do this.<br>
                              &gt;<br>
                              &gt; . I followed the instructions here:<br>
                        <a href="http://crosswire.org/wiki/Tutorial:Compiling_%26_Installing_SWORD_on_Windows" target="_blank">http://crosswire.org/wiki/Tutorial:Compiling_%26_Installing_SWORD_on_Windows</a>
                        <br>
                              eventually building all the dependancies
                        except clucene which eludes all attempts<br>
                              at building on windows. I attempted
                        compiling without clucene and appeared to get<br>
                              errors that didn&#39;t relate to clucene
                        anyhow and couldn&#39;t progress any further.<br>
                              &gt; . I then tried cross-compiling on
                        linux targeted at windows. I used mxe and<br>
                              things went pretty smoothly but I get link
                        errors at the final step of linking<br>
                              libsword.dll (to do with icu).<br>
                              &gt;<br>
                              &gt; I&#39;m about ready to give up and use
                        jsword - but that feels so wrong!<br>
                              &gt;<br>
                              &gt; I guess I&#39;m not really expecting to
                        be hand-held through the build process, but<br>
                              my main question is why I can&#39;t simply
                        build using MS Visual Studio? There seems<br>
                              to be a problem with MS Visual Studio 2013
                        as I&#39;ve encountered even errors such as<br>
                              &quot;can not find stdio.h/stdlib.h&quot; when
                        generating the clucene solution with cmake.<br>
                              The solution file for SWORD also doesn&#39;t
                        build. I&#39;m most likely noobing something<br>
                              here though because I never develop on
                        windows before - other than &quot;hello world&quot;<br>
                              type stuff. And now I know why!<br>
                              &gt;<br>
                              &gt; Cheers if you can help.<br>
                              &gt; Daniel<br>
                              &gt; --<br>
                              &gt; In the beginning Kibo created the
                        Internet. Now the Internet was formless, and<br>
                              empty. Randomness was upon the face of
                        computing, and the Spirit of ARPA moved<br>
                              upon the face of the computers. Then Kibo
                        said, &quot;Let there be data&quot;: and there was<br>
                              data. Kibo saw the data, and it was good,
                        so Kibo divided the data from the<br>
                              randomness, and Kibo named the data
                        Information, and the randomness Clueless. And<br>
                              the Information and the Clueless were the
                        first Network.<br>
                        <br>
                        <br>
                        <br>
                        <br>
                      </blockquote>
                      <br>
                      _______________________________________________<br>
                      sword-support mailing list<br>
                      <a href="mailto:sword-support@crosswire.org" target="_blank">sword-support@crosswire.org</a><br>
                    </blockquote>
                    <br>
                    <br>
                  </blockquote>
                  <br>
                </div>
              </div>
              _______________________________________________<br>
              sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
              <a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
              Instructions to unsubscribe/change your settings at above
              page<br>
            </blockquote>
            <br>
            <br>
            <br>
            _______________________________________________<br>
            sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
            <a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
            Instructions to unsubscribe/change your settings at above
            page<br>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      </div></div><pre>This body part will be downloaded on demand.</pre>
    </blockquote>
    <br>
  </div>

<br>_______________________________________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page<br></blockquote></div><br></div>
<br>_______________________________________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page<br></blockquote></div>
</div></div><br>_______________________________________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page<br></blockquote></div><br></div>
<br>_______________________________________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page<br></blockquote></div>