<br><br><div class="gmail_quote">On Sun, Mar 20, 2011 at 11:13 PM, Deepayan Sarkar <span dir="ltr"><<a href="mailto:deepayan.sarkar@gmail.com">deepayan.sarkar@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div><div></div><div class="h5">On Mon, Mar 21, 2011 at 5:39 AM, Michael Lawrence<br>
<<a href="mailto:lawrence.michael@gene.com">lawrence.michael@gene.com</a>> wrote:<br>
> Hi guys,<br>
><br>
> On Windows, we want to embed the Qt DLLs in the package. Looks like it makes<br>
> the package about 60 MB in size, which is probably OK. The main issue is<br>
> that we need to load the library in .onLoad(), after we set the PATH, which<br>
> means we cannot use the NAMESPACE useDynLib(qtbase, .registration=TRUE).<br>
> Thus, we lose automatic assignment of the registered native symbols in the<br>
> namespace. This means using .Call("foo", PACKAGE="qtbase") instead of<br>
> .Call(foo). The latter is obviously a lot cleaner, but it's a small price to<br>
> pay to get things smoothly working on Windows. One alternative would be<br>
> statically linking with Qt. That would require us to maintain our own Qt<br>
> static libs (converted from the DLLs). That in my opinion is worse than the<br>
> more complex .Call syntax.<br>
<br>
</div></div>I'm fine with the .Call("foo", PACKAGE="qtbase") form.<br>
<br>
Is it another option to require user-installed Qt as on Linux? (Of<br>
course not a good idea, but just wanted to check).<br>
<font color="#888888"><br></font></blockquote><div><br>It is an option, but yes something we want to avoid. Another option would be to perform the registration manually in .onLoad, but that would require "declaring" the symbols as NULL or something in the package. That would present a maintenance headache. Or we could define them in a separate environment and have .Call(native$foo). Another option is to have a .QtCall wrapper that simulates it.<br>
<br>I've gone ahead and switched the syntax of the .Call invocations. The Windows version seems to work fine now, without a separate installation of Qt! Next step is to get this for the other packages, qtpaint and qtutils. And then it's CRAN time.<br>
<br><br>Michael<br><br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><font color="#888888">
-Deepayan<br>
</font></blockquote></div><br>