I want to use Open Transactions libraries in my Windows build of my Qt Widgets application. Moneychanger is a test interface for OT built in Qt. As a step to understanding how the Qt code of Moneychanger and the c++ code of OT interact, I want to build Moneychanger on Windows 7 x64 with a binary distribution of OT .dll's.
I can't find documentation on including the OT library when I build Moneychanger. The current documentation (which I'm happy to improve:) git/readme.md / git/doc/INSTALL-win.txt
Starting Conditions
- Windows 7 Professional x64
- Qt 5.3.0
- Qt Creator 3.1.1
- Visual Studio Express 2012
- Visual Studio Express 2013
- Open-Transactions-0.92.c-Win32-setup.exe
- Clone moneychanger source from git
Compilation errors on MSVC/MinGW Qt compilers
- Open
project/moneychanger.proin Qt creator - Configure Qt Creator kits with various compilers and QT versions, including MinGW 4.8.2, MSVC 2012 OpenGL 32bit, MSVC 2013 32bit, MSVC 2013 OpenGL 64bit
- Select "Debug" configuration
- Click Run button
Desktop Qt 5.3.0 MinGW 32bit (Full Log)
<snip>
compiling ../../src/jsoncpp/jsoncpp.cpp
g++.exe: error: C:/Program Files (x86)/Git/bigobj: No such file or directory
This MinGW support answer seems to say that I need MSVC compiler for jsoncpp to compile.
Desktop Qt 5.3.0 MSVC2013 OpenGL 64bit
Desktop Qt 5.3.0 MSVC2013 32bit
Desktop Qt 5.3.0 MSVC2012 OpenGL 32bit (Full log)
<snip>
compiling ..\..\src\jsoncpp\jsoncpp.cpp
...
&& was unexpected at this time.
...
13:53:19: The process "C:\dev\qt\Tools\QtCreator\bin\jom.exe" exited with code 2.
MSVC 2013
The next thing I tried was converting the Qt project into a Visual Studio "solution." In preparation for this I installed the Windows Debugger Tools in the SDK for Windows 8.1.
The file doc/INSTALL-windows.txt offers the instructions:
Open Visual Studio x86 2013 prompt.
change to the 'project' directory.
run: qmake -r -tp vc moneychanger.pro
I got the qmake command to work:
> "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\cl.exe"
> cd C:\dev\project\moneychanger\project
> qmake -r -tp vc moneychanger.pro
'qmake' is not recognized as an internal or external command,
operable program or batch file.
C:\dev\project\Moneychanger\project>"C:\dev\qt\5.3\msvc2013\bin\qmake.exe" -r -tp vc moneychanger.pro
Reading C:/dev/project/Moneychanger/project/curl/curl.pro
Reading C:/dev/project/Moneychanger/project/libidn/libidn.pro
Reading C:/dev/project/Moneychanger/project/jsoncpp/jsoncpp.pro
Reading C:/dev/project/Moneychanger/project/bitcoin-api/bitcoin-api.pro
Reading C:/dev/project/Moneychanger/project/nmcrpc/nmcrpc.pro
Reading C:/dev/project/Moneychanger/project/moneychanger-qt/moneychanger-qt.pro
C:\dev\project\Moneychanger\project>
Now I have a project/moneychanger.sln.
MSVC Build Errors
Here's what happens when I build project/moneychanger.sln in Visual Studio 2013: (Full Log)
error C1083: Cannot open include file: 'opentxs/stdafx.hpp':
No such file or directory
c:\dev\project\moneychanger\src\core\stable.hpp`
Sure sounds like I need to point Moneychanger at my OT library. I don't know how to do that in either Qt Creator or MSVC. For now I have da2ce7's binary v0.92c with otapi.dll, otlib.dll and more. Eventually I want to build a windows OT library myself and use that. For now I'll settle for the binary package.
Please tell me it's as simple as copying stuff around and rebuilding!