readium-sdk
readium-sdk copied to clipboard
Guide for compiling VSIX Project using Visual Studio 2013
Hi I'm not familiar with GitHub just yet but I'd like to share something for starters.
Would like to provide some detailed steps for compiling the VSIX installer since there is no pre-built version in the official GitHub Repo. At the end of this article you will see a link to the readium-WindowsRTLauncher by another contributor (@TagCreativeStudio) which maybe useful for someone out there.
Note : Works for Visual Studio 2013 (non express edition)
Visual Studio Prerequisites
- Install the Microsoft Foundation Classes for C++ package for your Visual Studio 2013 installation. You can do this using the Program and Features --> Modify --> under "Optional Features to install", check on the Microsoft Foundation Classes for C++ package.
- Restart your computer.
- Install the Visual Studio 2013 SDK.
Download Readium SDK Solution
- Download the Readium SDK is downloaded from the official [GitHub Repo (https://github.com/readium/readium-sdk).
- Open the readium-sdk/Platform/WinRT/Readium/Readium.sln. You will see two projects : Readium and VSIXReadium
Compiling Readium SDK Projects
- If you try to build the VSIXReadium project, it will fail. ("Path not found", "File not found" errors)
- To resolve the compilation issue in Step 1, you will need to build the Readium project.
- If you try to build the Readium project, it will fail. ("ambiguous call to overloaded function" errors)
- Locate the lines with errors and modify them as follows:
/// run_loop_windows.cpp
ThreadEmulation::TlsFree(RunLoop::RunLoopTLSKey);
RunLoopTLSKey = ThreadEmulation::TlsAlloc();
/// run_loop_common.ipp
# define TLS_GET(key) ThreadEmulation::TlsGetValue(key)
# define TLS_SET(key, data) ThreadEmulation::TlsSetValue(key, data)
- After applying the fix in Step 4, compile the Readium project again and it should pass.
- Right-click the Readium Solution and select Batch Build. Select all the configurations except VSIXReadium (as per below screenshot). Then click on the "Build" button.

- When you are done, you should be able to see the output folders in the "deploy" folder.

- Build the VSIXReadium project again and it should pass.
- Do a release build of the VSIXReadium project, you should see the output file
VSIXReadium.vsixin thebin\Releasefolder.
Installing the VSIX
- Make sure that Visual Studio is not running.
- Double-click the
VSIXReadium.vsixfile. Wait for a while as it gets installed. - To verify that it has been installed, start up Visual Studio, goto Tools --> Extensions and Updates.
- Scroll down the list and you should see VSIXReadium in the list.

After completing all the steps above, you can reference the Readium SDK properly in the Readium Test App for Windows 8.1 project.
Note that this guide is also available (and maybe updated) at @TagCreativeStudio's own GitHub repository: https://github.com/TagCreativeStudio/readium-WindowsRTLauncher/issues/1#issue-65840393
can't build successfully. Lot of errors are
can't build successfully. Lot of errors are
how to correct these questions?
@zxz1989 and @naveen1941 the "Windows RunTime" codebase has been contributed by third-parties, and I am afraid ; as far as I know ; that none of the currently active developers in the Readium open-source project(s) have been maintaining the "managed" wrapper code, to remain in sync with the native C++ Readium SDK APIs. Just like the MFC application launcher, there is a regrettable lack of interest from open-source participants for the Windows platform(s).
In fact, the desktop OSX application launcher is not seeing much interest lately. Most vendors of ebook reading systems seem to focus on iOS and Android mobile devices, and also cloud reader products for desktop environments (ReadiumJS for pure web browser runtime, Chrome OS or browser extensions, and additionally Firefox OS). There is also some interest for hybrid apps that use a native shell (user interface + system-level integration) wrapped around a ReadiumJS core (such as Apache Cordova, or other Node + WebKit frameworks).
@rkwright is that a fair summary of the current situation?
That is correct. We are also looking at another approach, using the Chrome extension with a native part based on PNACL or similar.
@danielweck I am interested in development for Windows Platform. Could you please guide?
I want readium-sdk for reading epub at support windows store app. please update sdk in visual studio 2015.
As an open source project, we are dependent on volunteers to provide support for various platforms. At present, we support iOS, Android, and OSX. Unfortunately, nobody has shown any interest in porting Readium to Windows. One group started a project and I myself ported it to MFC but didn't have time to fully complete the work. Even Microsoft themselves said they might do it, but they didn't follow through. If you would like to do it, the Readium community would be happy to give you advice as needed.
More info here
Ric Wright Director of Engineering Readium Foundation
Yes @rkwright I would like to start :)
I have some progress. I tried readium-js-viewer to show in WPF application using Chromium browser(CEF), and one local host server to serve files required be Chromium. It works fine but its not pretty much fast. I would like to contribute for native readium-js library development.