Build TinyEmberPlusRouter

320 views
Skip to first unread message

Gerry Blaney

unread,
Mar 14, 2019, 8:50:01 AM3/14/19
to ember-plus-development
I am building TinyEmberPlusRouter using Visual Studio 2015 and my only error at this point is missing library 'QtCored4.lib'.

I have download QT 5.12.1 and there are a number of libraries with similar names ('Qt5Cored.lib' and 'Qt53DCored.lib') but not exactly the one called for in the TinyEmberPlusRouter project.

Any ideas on how to obtain this library?

Thanks,
Gerry Blaney
Toronto Ontario Canada

Hoffmann, Kimon (LAWO)

unread,
Mar 14, 2019, 10:26:28 AM3/14/19
to ember-plus-development
Hi,

> I am building TinyEmberPlusRouter using Visual Studio 2015 and my only error at this point is missing library 'QtCored4.lib'.
>
> I have download QT 5.12.1 and there are a number of libraries with similar names ('Qt5Cored.lib' and 'Qt53DCored.lib') but not exactly the one called for in the TinyEmberPlusRouter project.
>
> Any ideas on how to obtain this library?

We recently switched to Qt5, but the included Visual Studio project file has not been updated accordingly.
Please use cmake to generate an up-to-date project file and try again.


Regards,
Kimon



Kimon Hoffmann
Lead Software Developer & Systems Architect

--
Lawo AG | Am Oberwald 8 | 76437 Rastatt | Germany
Phone +49 7222 1002 5810 | www.lawo.com
--
Lawo AG | Registered Office: Rastatt | Amtsgericht Mannheim HRB 707330
CEO: Philipp Lawo | Chairman of the Supervisory Board: Christian Otto, Attorney at Law






-----
Unsere Datenschutzerkl?rung finden Sie hier (https://www.lawo.com/de/website/company/rechtliches/datenschutz.html).
See our Privacy Policy here (https://www.lawo.com/en/website/company/legal/data-protection.html).

Gerry Blaney

unread,
Mar 14, 2019, 10:30:08 AM3/14/19
to ember-plus-development
That was using the "1.5.1" TinyEmberPlusRouter code version.

I also downloaded the "1.6.2" version and compiling the same way got this error from within the main() function:

'glow::Dispatcher::Dispatcher(const glow::Dispatcher &)': attempting to reference a deleted function

Nowhere in the code do I see that function deleted.

I substituted the 1.6.2 code in the main() function that was causing this issue with the code from "1.5.1" TinyEmberPlusRouter code version, and that error went away.

Which then brought me back to the library 'QtCored4.lib' missing error.

Is there any recommendation as to what tools this project should be built with?

VS 2015 is the only one I have seen so far that can build without syntax errors.

Thanks!
GB Toronto Canada

Gerry Blaney

unread,
Mar 14, 2019, 10:35:33 AM3/14/19
to Kimon.H...@lawo.com, ember-plus-...@googlegroups.com
Ok, thanks Kimon, I will try that.

Gerry

==
--
You received this message because you are subscribed to the Google Groups "ember-plus-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ember-plus-develo...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Hoffmann, Kimon (LAWO)

unread,
Mar 14, 2019, 10:38:01 AM3/14/19
to Gerry Blaney, ember-plus-development
Hi again,
The switch to Qt5 that I mentioned in my previous email was performed in v1.8.0 of the SDK, so you might give that version a try.
If you encounter compile errors in that version that you are able to fix please submit a PR on GitHub, so that we can integrate the fix into the official distribution.

Since I do not have a Windows machine with Visual Studio at my disposal at the moment I'm unfortunately unable to provide more in depth assistance to you problem at hand.

Gerry Blaney

unread,
Mar 14, 2019, 10:44:32 AM3/14/19
to ember-plus-development
OK thanks Kimon, I will try that as well.

Gerry

Gerry Blaney

unread,
Mar 15, 2019, 9:59:03 AM3/15/19
to ember-plus-development
Having success after using 1.8.0 and cmake as suggested. The libraries all compile correctly.

The only issue I am having with TinyEmberPlusRouter is a target machine conflict in the linker, as follows:

LNK1112    module machine type 'x64' conflicts with target machine type 'X86'    TinyEmberPlusRouter    Y:\tinyember\TinyEmberPlusRouter\Qt5Networkd.lib(Qt5Networkd.dll)

I have changed the target machine (which was x86) for projects 'ember-shared', 'ember-static' and 'TinyEmberPlusRouter' to X64 and rebuilt them, with no change in the error.

For 'ember-shared' and 'TinyEmberPlusRouter' the target machine was changed in the project property page > Linker > Advanced > Target Machine.

For 'ember-static' the target machine was changed in the project property page > Librarian > General > Target Machine.

Is there some other place that the Target Machine should or can be set?

Or is Qt5 usually built in an x86 mode?

Thanks again for any input.

Gerry Blaney
Toronto, Canada

Gerry Blaney

unread,
Mar 15, 2019, 10:24:45 AM3/15/19
to ember-plus-development
This is being built on a machine with 64 bit CPU and 64 bit Windows OS if that makes any difference.

Gerry Blaney

unread,
Mar 20, 2019, 1:11:41 PM3/20/19
to ember-plus-development
Hi Kimon,

Can you tell me what tools were used to build this?

Regards,
Gerry Blaney
Toronto Ontario

Hoffmann, Kimon (LAWO)

unread,
Mar 20, 2019, 2:59:54 PM3/20/19
to ember-plus-development
Hi Gerry,

> TinyEmberPlusRouter is a target machine conflict in the linker, as follows:
>
> LNK1112 module machine type 'x64' conflicts with target machine type 'X86' TinyEmberPlusRouter Y:\tinyember\TinyEmberPlusRouter\Qt5Networkd.lib(Qt5Networkd.dll)
>
> I have changed the target machine (which was x86) for projects 'ember-shared', 'ember-static' and 'TinyEmberPlusRouter' to X64 and rebuilt them, with no change in the error.
>
> For 'ember-shared' and 'TinyEmberPlusRouter' the target machine was changed in the project property page > Linker > Advanced > Target Machine.
>
> For 'ember-static' the target machine was changed in the project property page > Librarian > General > Target Machine.
>
> Is there some other place that the Target Machine should or can be set?
>
> Or is Qt5 usually built in an x86 mode?

As mentioned earlier, I can‘t really provide detailed assistance for builds on Windows, but to me the error message suggests that the Qt5 library is built for x64 while the host project targets x86. In a normal VisualStudio project you should have predefined configurations for both that you can switch similar to switching between Debug & Release builds.

For a cmake generated project this might be different and I would suggest looking up possible commandline options that may be passed to the cmake invocation to control the target system type.

Regards,
Kimon

P.S. Regarding your question about platforms currently in use: I myself am building/using the libraries regularity on Linux x86 and x64 as well as on macOS (64 bit) and I know of quite a few people using Windows in various configurations as their primary deployment target.

-----
Unsere Datenschutzerklärung finden Sie hier (https://www.lawo.com/de/website/company/rechtliches/datenschutz.html).
Reply all
Reply to author
Forward
0 new messages