1

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

Compilation errors on MSVC/MinGW Qt compilers

  • Open project/moneychanger.pro in 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!

Nick ODell
  • 29,184
  • 11
  • 69
  • 129
Plato
  • 119
  • 6

0 Answers0