Conan CMake and Embarcadero integration - cmake

I am trying to make Conan with CMake run with Embarcadero Tokyo 10.2.3 compiler. I can do CMake with Embarcadero following it's tutorial. But issue seems to happen with Conan. So I do the conan install. Then I do cmake .. -DCMAKE_CXX_COMPILER="bcc32c.exe" -DCMAKE_C_COMPILER="bcc32c.exe" -DCMAKE_VERBOSE_MAKEFILE=1 -G Ninja. I get the error
Incorrect 'Visual Studio'. Toolset specifies compiler as 'MSVC' but CMake
detected 'Embarcadero'
The default conan profile shows compiler=Visual Studio which I believe is where the issue originates from. But dont know how to change it to Embarcadero (does not recognize) or if changing the default profile is the way to go. My CMakeLists.txt file looks like this (mostly default)
project(Timer)
cmake_minimum_required(VERSION 3.11)
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
add_executable(timer timer.cpp)
target_link_libraries(timer ${CONAN_LIBS})
The full cmake output is below:
-- The C compiler identification is Embarcadero 7.30.36015
-- The CXX compiler identification is Embarcadero 7.30.36015
-- Check for working C compiler: C:/Program Files (x86)/Embarcadero/Studio/19.0/bin/bcc32c.exe
-- Check for working C compiler: C:/Program Files (x86)/Embarcadero/Studio/19.0/bin/bcc32c.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Embarcadero/Studio/19.0/bin/bcc32c.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Embarcadero/Studio/19.0/bin/bcc32c.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Current conanbuildinfo.cmake directory: C:/Mathew Joy/Source/mytimer/build
CMake Error at build/conanbuildinfo.cmake:579 (message):
**Incorrect 'Visual Studio'. Toolset specifies compiler as 'MSVC' but CMake
detected 'Embarcadero'**
Call Stack (most recent call first):
build/conanbuildinfo.cmake:237 (conan_check_compiler)
CMakeLists.txt:5 (conan_basic_setup)

You need to customize the default settings.yml file which can be found in <userhome>/.conan/settings.yml
This file has defined some of the most popular compilers, you might add something like:
compiler:
sun-cc:
...
gcc:
version: ["4.1", "4.4", "4.5", "4.6", "4.7", "4.8", "4.9",
Visual Studio:
runtime: [MD, MT, MTd, MDd]
version: ["8", "9", "10", "11", "12", "14", "15"]
...
Embarcadero:
version: ["V1", "V2"...]
This file can be shared and synchronized with the team and used in CI machines with the conan config install command.
Then you can add the values for convenience to your default profile, instead of the Visual Studio values.
It is likely that most of the logic that the built-in build helpers, like CMake are providing, would be limited for this compiler, as it doesn't recognize it. You can run your logic to call the build system directly if that is the case:
def build(self):
self.run("cmake . -G ....")
self.run("cmake --build . --config Release")
If you want to correctly build and create packages for different configurations, then you should parameterize the above using the settings and options, as necessary.
All of this assume that you will be creating and depending on your own packages, as the existing packages in the public conan-center repository will be for the popular compilers, so the binaries will be incompatible, and the recipes most likely won't implement building from sources with Embarcadero.

Visual Studio 2019 C++ is much better than Embarcadero. I have used both Tokyo and the Rio version, and there is no comparison. In addition you can download the Managed C++, which is called C++ CLR (not CLI), which will allow you to integrate .NET forms/consoles with native C++ applications.
Visual Studio 2019 C++ works well when creating Xamarin IOS libraries, which can easily be integrated with C# for Xamarin Forms. Xamarin Forms works for both Android and IOS (Xamarin).
In July 2019, Embarcadero finally added 64 bit Mac OS operating system, and MAC has been 64 bit since 2008.
That should tell you something right there.

Related

cmake . -B build - Compiling Neural Graphic Primitives

I trying compile NGP but after cmake . -B build I get this lines:
I've installed
Visual Studio 2019
CUDA Toolkit 11.6
CMake 3.22
Python 3.10
Optix 7.6
C:\NGP\instant-ngp>cmake . -B build
-- Building for: Visual Studio 16 2019
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19043.
-- The C compiler identification is MSVC 19.29.30147.0
-- The CXX compiler identification is MSVC 19.29.30147.0
-- The CUDA compiler identification is NVIDIA 11.6.124
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/bin/nvcc.exe - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- **Obtained CUDA architectures automatically from installed GPUs**
**CMake Error: The source directory "SOURCES/CMakeFiles/CMakeTmp" does not exist.**
Specify --help for usage, or press the help button on the CMake GUI.
CMake Error at dependencies/tiny-cuda-nn/CMakeLists.txt:107 (try_run):
Failed to configure test project build system.
Call Stack (most recent call first):
dependencies/tiny-cuda-nn/CMakeLists.txt:146 (TCNN_AUTODETECT_CUDA_ARCHITECTURES)
-- Configuring incomplete, errors occurred!
See also "C:/NGP/instant-ngp/build/CMakeFiles/CMakeOutput.log".
I am not coder I just want to try NERF. It ss possible download somewhere compiled NGP or it doesn't work that way?
EDIT: Noticed that OP is using the -S flag implicitly the issue seems to be elsewhere, hence the updated answer:
UPDATED ANSWER
Please bare in mind that with the limited information at my disposal. This is again only a wild guess, based on what I tried.
After re-examining the output of CMake I've noticed that the issue is within one of the dependencies i.e.
CMake Error at dependencies/tiny-cuda-nn/CMakeLists.txt:107 (try_run):
I was not able to completely replicate the problem, however I do believe I know how to debug these issues. My wild guess here is that either:
The individual dependencies were incorrectly pulled or
The CMake files were poorly generated due to some issue and you didn't clean them.
I would recommend trying the following:
Delete the build folder, and run cmake -S. -Bbuild again. And if that fails you can try the second option.
Remove the git repository (folder called instant-ngp) and clone it again using exactly this command:
git clone --recursive https://github.com/nvlabs/instant-ngp
Please note that the --recursive option is very important due to the fact that you need to pull the dependant repositories as well.
Now if all of that fails. You still have one more option and that is to go to the folder dependencies/tiny-cuda-nn/ and generate the CMake files yourself, however I do not recommend that due to the fact that if you have limited experience you may not know what exactly to do.
I've also checked the variables you wanted to set, and you may do that by running this in Powershell
$Env:CMAKE_CUDA_ARCHITECTURES=YOUR_VALUE_HERE (in my case it is 75 because I have a RTX2080). However bare in mind that
You shouldn't need it, because the architecture is discovered for you
You need to delete the build folder in order to clean up the cached CMake files
Hope it helps!

cmake and clang++ windows build instead of MSVC

I am trying to create a build environment using cmake and i have both MSVC and clang installed on my system.
When I run cmake with the default settings it detectts MSVC as my cxx compiler.
However, I would like to use clang++ instead.
I tried specifying clang like this: cmake -DCMAKE_CXX_COMPILER=clang++
but even after that it still uses MSVC..
How can I tell it to use clang instead?
You should provide the complete path of the clang compiler. E.g.,
cmake -DCMAKE_CXX_COMPILER=/path/to/clang++ -DCMAKE_C_COMPILER=/path/to/clang
First of all you need to ensure that CLANG is visible through a regular command prompt window. If not then you need to put the CLANG installed directory path to your PATH environment variable.
In my case I had clang-cl installed through Visual Studio but it was still not visible through a regular command prompt window.
Regular command prompt window output:
>clang-cl -v
'clang++' is not recognized as an internal or external command,
operable program or batch file.
Developer command prompt window output:
>clang-cl -v
clang version 12.0.0
Target: i686-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\Llvm\bin
Moreover, I simply use the following command: cmake -T ClangCL to generate the project on a Windows 10 PC with Visual Studio 2019 Professional Edition.
This is the output I get:
-- Building for: Visual Studio 16 2019
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.
-- The C compiler identification is Clang 12.0.0 with MSVC-like command-line
-- The CXX compiler identification is Clang 12.0.0 with MSVC-like command-line
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/Llvm/x64/bin/clang-cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/Llvm/x64/bin/clang-cl.exe - skipped
I have tested the same on another Windows 10 PC with Visual Studio 2022 Community Edition and it works fine too.

How to use cmake on windows with vs2019 and custom installed llvm?

I found someone mentioned to use such command line to use cmake with vs2019 and llvm toolset:
cmake -G "Visual Studio 2019" -T ClangCL
However, this would use the llvm version, which is 11.0 for now, was installed by the visual studio instanller.
I want to use a new version, thus 12.0, of llvm which I already installed somewhere else but I don't know how to make cmake and vs to use that.
UPDATE:
What I tried to set the compiler via command line:
E:\my_proj>cmake -G "Visual Studio 16 2019" -A x64 -T "ClangCL" -DCMAKE_C_COMPILER="C:\Program Files\LLVM\bin\clang.exe" -DCMAKE_CXX_COMPILER="C:\Program Files\LLVM\bin\clang++.exe" .
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19042.
-- The C compiler identification is Clang 11.0.0 with MSVC-like command-line
-- The CXX compiler identification is Clang 11.0.0 with MSVC-like command-line
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/Llvm/x64/bin/clang-cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/Llvm/x64/bin/clang-cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
As you could see the cmake picked the clang from the vs installed location and ignored the command line.
As described below, setting CMAKE flags explicitly has no effect when using VS generator. Thus choosing the default compiler installed by Visual Studio installer.
The VS generator produces .vcxproj files and uses MSBuild to actually
drive the build. The values of CMAKE_{C,CXX}_COMPILER are computed
automatically from the compiler MSBuild chooses so setting them has no
effect.

Qt-Cretor + CMake insists on using MSVC when I want to use MinGW

I am trying to build a CMake project with MinGW. I have installed MinGW 8.1 through the Qt installer. The CMakeList is unchanged from how Qt Creator created it when creating the project.
When running CMake, I can see how Qt Creator passes the compiler and linker's paths to CMake and how CMake completely ignores them.
Führe C:\Program Files\CMake\bin\cmake.exe -S [snip] -B [snip] "-DCMAKE_BUILD_TYPE:String=Debug" "-DQT_QMAKE_EXECUTABLE:STRING=C:/Qt/5.15.1/mingw81_64/bin/qmake.exe" "-DCMAKE_PREFIX_PATH:STRING=C:/Qt/5.15.1/mingw81_64" "-DCMAKE_C_COMPILER:STRING=C:/Qt/Tools/mingw810_64/bin/gcc.exe" "-DCMAKE_CXX_COMPILER:STRING=C:/Qt/Tools/mingw810_64/bin/g++.exe" in [snip] aus.
-- Building for: Visual Studio 16 2019
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19041.
-- The CXX compiler identification is MSVC 19.24.28314.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_BUILD_TYPE
CMAKE_C_COMPILER
QT_QMAKE_EXECUTABLE
Here I am using a system install of CMake, but the output is unchanged when using the CMake installed with Qt Creator. The CMake generator for the selected kit is set to MinGW Makefiles in the Qt Creator settings. Running CMake manually, without Qt Creator, allows me to configure the project. (although it still doesn't compile because of a linker error, that I expect to be independent of this problem)
It seems there is a caching issue. The caching is done by CMake (CMakeCache.txt) and by QtCreator (CMakeLists.txt.user) itself.
Maybe this helps:
Close QtCreator (by closing QtCreator the CMakeLists.txt.user file is saved or generated if the file don't exist)
delete QtCreator's CMakeLists.txt.user
the build folder
Open the project again and select the desired kit.

Building ZeroMQ on Windows 10 with Visual Studio and / or CMake fails

I am trying to set up a Co-simulation between Matlab / Simulink and an external application using the ZeroMQ library. The example I would like to build upon is described here. Therefore I need a compiled version (.dll) of the libzmq library's source code, which I downloaded from here. To my understanding the header zmq.hpp (from here) can be used directly without further compilation.
Unfortunately, I cannot manage to build the libzmq library, which is where any help would be very much appreciated! The available solutions suggested in some other questions did not work for me (see below).
I am using Windows 10, Visual Studio 2017 Community Edition and CMake 3.18.4.
As I am quite new to the topic it is definitely possible that I made some mistake during the different attempts I made. That is why I will describe in the following what I already tried that DID NOT WORK:
Going the same way as described in the example (section "Installing ZeroMQ") by opening the Native Tool Command Prompt from Visual Studio (admin mode), navigating to the build folder of libzmq and execute the provided build batch script resulted in the following error
C:\Users\MY_PATH\ZeroMQ\Work\libzmq-master_VS_native_tool\builds\deprecated-msvc\build>build.bat
Start Time: 18.11.2020 14:04:36,82
Building ..\vs201\libzmq.sln
Platform=x86
Configuration=DynDebug
*** ERROR, build terminated early, see: build_ni.log
Stop Time: 18.11.2020 14:04:37,01
Start Time: 18.11.2020 14:04:36,82
with the build_ni.log containing
Microsoft (R)-Build-Engine, Version 15.9.21+g9802d43bc3 fr .NET Framework
Copyright (C) Microsoft Corporation. Alle rights reserved.
MSBUILD : error MSB1009: Project file does not exist.
Switch: ..\vs201\libzmq.sln
The same problem has been encoutered here
Build zeromq on Windows 10 with CMake,
where the author writes that the Visual Studio solutions within libzmq have been deprecated because they are too difficult to maintain. The author managed to build the libzmq library from source using CMake.
2. I also tried to build the library with CMake Version 3.18.4 by using the GUI. In the Configurations I specified Visual Studio 15 2017 as generator and the default platform (Win32). Here is a screenshot of the resulting CMake cache variables:
CMake cache variables
I post all of them because I am new to CMake and not sure which of them might possibly be responsible for following errors. The resulting output from CMake indicates that there seems to be a problem with sodium and / or libsodium, although I have no clue here if this is needed whatsoever. Here is the output:
The C compiler identification is MSVC 19.16.27044.0
The CXX compiler identification is MSVC 19.16.27044.0
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe - skipped
Detecting C compile features
Detecting C compile features - done
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe - skipped
Detecting CXX compile features
Detecting CXX compile features - done
Looking for pthread.h
Looking for pthread.h - not found
Found Threads: TRUE
Detected ZMQ Version - 4.3.4
Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Not building draft classes and methods
Using builtin sha1
**CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
The package name passed to `find_package_handle_standard_args` (sodium)
does not match the name of the calling package (Sodium). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
builds/cmake/Modules/FindSodium.cmake:42 (find_package_handle_standard_args)
CMakeLists.txt:265 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
Could NOT find sodium (missing: SODIUM_LIBRARIES SODIUM_INCLUDE_DIRS)
CMake Warning at CMakeLists.txt:275 (message):
libsodium not installed, instead using builtin tweetnacl, you may want to
install libsodium and run cmake again**
Using tweetnacl for CURVE security
Detected _WIN32_WINNT from CMAKE_SYSTEM_VERSION: 0x0A00
Using polling method in I/O threads: epoll
Including wepoll
Using polling method in zmq_poll(er)_* API: poll
Using 64 bytes alignment for lock-free data structures
Looking for include file windows.h
Looking for include file windows.h - found
Looking for include files winsock2.h, afunix.h
Looking for include files winsock2.h, afunix.h - found
Looking for include file condition_variable
Looking for include file condition_variable - found
Using condition_variable_t implementation: stl11
Looking for WSAStartup
Looking for WSAStartup - found
Looking for UuidCreateSequential
Looking for UuidCreateSequential - found
Looking for GetAdaptersAddresses
Looking for GetAdaptersAddresses - found
Looking for fopen in ws2
Looking for fopen in ws2 - not found
Performing Test HAVE_FLAG_/W3
Performing Test HAVE_FLAG_/W3 - Success
Checking whether noexcept is supported
Performing Test ZMQ_HAVE_NOEXCEPT
Performing Test ZMQ_HAVE_NOEXCEPT - Success
Could NOT find AsciiDoc (missing: ASCIIDOC_EXECUTABLE)
**CMake Warning (dev) at tests/CMakeLists.txt:306 (message):
Test 'test_bind_stream_fuzzer' is not known to CTest.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at tests/CMakeLists.txt:306 (message):
Test 'test_bind_ws_fuzzer' is not known to CTest.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at tests/CMakeLists.txt:306 (message):
Test 'test_connect_stream_fuzzer' is not known to CTest.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at tests/CMakeLists.txt:306 (message):
Test 'test_connect_ws_fuzzer' is not known to CTest.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at tests/CMakeLists.txt:306 (message):
Test 'test_socket_options_fuzzer' is not known to CTest.
This warning is for project developers. Use -Wno-dev to suppress it.**
Configuring done
After generating the Build folder I opened the resulting ZeroMQ.sln in Visual Studio 2017 (with admin rights) and performed the following steps:
In the solution explorer (including ALL_BUILD, ZERO_CHECK, libzmq ...) I set the folder "libzmq" as startup project
Start the "Local Windows Debugger"
Here is the output from Visual Studio (I replaced the actual path to the ZeroMQ folder with "MY_PATH"):
1>------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 ------
1>Checking Build System
2>------ Build started: Project: libzmq, Configuration: Debug Win32 ------
2>Generating NSIS.template.in
2>Building Custom Rule C:/Users/MY_PATH/ZeroMQ/libzmq/CMakeLists.txt
2>precompiled.cpp
2>sha1.c
2>tweetnacl.c
2>wepoll.c
2>address.cpp
2>channel.cpp
2>client.cpp
2>clock.cpp
2>ctx.cpp
2>curve_mechanism_base.cpp
2>curve_client.cpp
2>curve_server.cpp
2>dealer.cpp
2>devpoll.cpp
2>dgram.cpp
2>dist.cpp
2>endpoint.cpp
2>epoll.cpp
2>err.cpp
2>fq.cpp
2>io_object.cpp
2>io_thread.cpp
2>ip.cpp
2>ipc_address.cpp
2>ipc_connecter.cpp
2>ipc_listener.cpp
2>kqueue.cpp
2>lb.cpp
2>mailbox.cpp
2>mailbox_safe.cpp
2>mechanism.cpp
2>mechanism_base.cpp
2>metadata.cpp
2>msg.cpp
2>mtrie.cpp
2>norm_engine.cpp
2>object.cpp
2>options.cpp
2>own.cpp
2>null_mechanism.cpp
2>pair.cpp
2>peer.cpp
2>pgm_receiver.cpp
2>pgm_sender.cpp
2>pgm_socket.cpp
2>pipe.cpp
2>plain_client.cpp
2>plain_server.cpp
2>poll.cpp
2>poller_base.cpp
2>polling_util.cpp
2>pollset.cpp
2>proxy.cpp
2>pub.cpp
2>pull.cpp
2>push.cpp
2>random.cpp
2>raw_encoder.cpp
2>raw_decoder.cpp
2>raw_engine.cpp
2>reaper.cpp
2>rep.cpp
2>req.cpp
2>router.cpp
2>select.cpp
2>server.cpp
2>session_base.cpp
2>signaler.cpp
2>socket_base.cpp
2>socks.cpp
2>socks_connecter.cpp
2>stream.cpp
2>stream_engine_base.cpp
2>sub.cpp
2>tcp.cpp
2>tcp_address.cpp
2>tcp_connecter.cpp
2>tcp_listener.cpp
2>thread.cpp
2>trie.cpp
2>radix_tree.cpp
2>v1_decoder.cpp
2>v1_encoder.cpp
2>v2_decoder.cpp
2>v2_encoder.cpp
2>v3_1_encoder.cpp
2>xpub.cpp
2>xsub.cpp
2>zmq.cpp
2>zmq_utils.cpp
2>decoder_allocators.cpp
2>socket_poller.cpp
2>timers.cpp
2>radio.cpp
2>dish.cpp
2>udp_engine.cpp
2>udp_address.cpp
2>scatter.cpp
2>gather.cpp
2>ip_resolver.cpp
2>zap_client.cpp
2>zmtp_engine.cpp
2>stream_connecter_base.cpp
2>stream_listener_base.cpp
2> Creating library C:/Users/MY_PATH/ZeroMQ/libzmq/Build/lib/Debug/libzmq-v141-mt-gd-4_3_4.lib and object C:/Users/MY_PATH/ZeroMQ/libzmq/Build/lib/Debug/libzmq-v141-mt-gd-4_3_4.exp
2>libzmq.vcxproj -> C:\Users\MY_PATH\ZeroMQ\libzmq\Build\bin\Debug\libzmq-v141-mt-gd-4_3_4.dll
========== Build: 2 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
At the end I received the following error from Visual Studio:
Error message from Visual Studio
It says:
Unable to start program
'C:\Users\MY_PATH\ZeroMQ\libzmq\Build\lib\Debug\libzmq-v141-mt-gd-4_3_4.dll'.
C:\Users\MY_PATH\ZeroMQ\libzmq\Build\lib\Debug\libzmq-v141-mt-gd-4_3_4.dll is not a valid Win32 application
This leads me to the assumption that the attempt to correctly build the ZeroMQ library failed.
The last thing I tried was a suggestion from a comment in Build zeromq on Windows 10 with CMake:
"VS2015 Toolbar -> Open -> CMake -> ZMQ folder
Toolbar -> CMake -> Cache -> Generate -> ZeroMQ
Toolbar -> CMake -> Install -> ZeroMQ
You can find builds in /Users/UserName/CMakeBuilds/..."
When I tried this I received some warnings and an error that you can find here, from which I don't know what to do with it. Basically it refers to lines 275 and 306 of CMakeLists.txtand says that libsodium is not installed and the error says:
Cannot open compiler intermediate file 'c\users\MY_USER\cmakebuilds\6d974590-78c5-853d-bf52-b3f968050d60\build\x64-Debug (default)\precompiled.pch': Permission denied
multiple rules generate precompiled.hpp. builds involving this target will not be correct; continuing anyway [-w dupbuild=warn]
Following the steps from the accepted answer in this post
Getting ZeroMQ up and running on Windows 10
also results in errors and no build folder is added to the user's CMakeBuilds subfolder.