Refinitiv / Real-Time-SDK

Other
184 stars 129 forks source link

error on cmake, latest build #104

Closed zfarberov closed 5 years ago

zfarberov commented 5 years ago

cmake command:

"C:\ESDK13>cmake -HC:\ESDK13 -BC:\ESDK13\build -G "Visual Studio 15 2017 Win64" -DBUILD_EMA_UNIT_TESTS=OFF"

Error reported in CMakeError.Log:

CheckIncludeFile.c

C:\ESDK13\build\CMakeFiles\CMakeTmp\CheckIncludeFile.c(1): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\ESDK13\build\CMakeFiles\CMakeTmp\cmTC_f89ad.vcxproj]

CMakeError.log CMakeOutput.log

MitchellKato commented 5 years ago

This is expected. This is the method that CMake uses to detect if certain features are installed on the system, and will show this error in the output log if they're not present. Since Windows doesn't have pthread.h, the header presence check will fail.

However, the generation should have succeeded. CMakeError.log and CMakeOutput.log shouldn't be used to validate that the CMake generation has succeeded. Those two files are used to check for issues with the scripting if the the output of either the CMake GUI or command line run show errors.

zfarberov commented 5 years ago

Thank you @MitchellKato

Command line build output seems ok, no obvious errors.

However, neither ETA nor EMA folders in built CPP-C contain all of the same folders as a released 1.3 Cpp-C. For example, there is no "Libs".

Should the resulting build contain everything, that a released Elektron-SDK-1.3.0.L1.win.rrg build contains?

MitchellKato commented 5 years ago

Have you opened the generated .sln file in visual studio and built the project? There should be Libs and Executable folders created after the build.

Beyond that, there is one weird thing with the original cmake line. -H should be help. Are you sure that's the correct line that was ran?

zfarberov commented 5 years ago

Hello @MitchellKato ,

In README.MD I have followed and copied "-H": "cmake -HElektron-SDK -Bbuild-esdk -G "VisualStudioVersion""

Opening Esdk.sln and building was the key step that I was missing.

Having done that I have been able to progress further and Libs folders were created and contain the libraries.

The run result was: "========== Rebuild All: 168 succeeded, 86 failed, 1 skipped =========="

Does this look about right, or something did not build as expected?

esk13build.20190429.txt

Thanks!

MitchellKato commented 5 years ago

The errors appear to be caused by an incomplete VS2017 install. VS2017 also requires the following optional install components for native C/C++ applications: MFC and ATL support(x86 and x64) C++/CLI support

Re-run the VS2017 installer, select "modify", and make sure that the above components are checked.

zfarberov commented 5 years ago

Thank you @MitchellKato This was it.