[zeromq-dev] Qt C++ Windows

Eric Gendron conceptid at gmail.com
Tue Dec 20 05:40:55 CET 2016


WOW!  it works!

I succeeded to compile with your instructions, also I succeeded to run a
test client in Qt.

Thank you very much, you are very helpful.

These instructions should replace the ones on the zeromq website...

But for the pathe, I needed to add the /bin too...

I wrote down the procedure I've used for all the process to execute a test
client on Qt Windows... Maybe I could share it somewhere?



On Sun, Dec 18, 2016 at 6:23 PM, Oleksii Zamiatin <ozamiatin at mirantis.com>
wrote:

> Hi Eric
>
> As a last chance I’d suggest to try CMake ;)
> I’ve just got success with it on win10 x64 (32-bit build)
>
> Install it from cmake official site (I’ve used 3.7.1 for x64 Msi installer)
>
> I have MinGW in "C:\Qt\Tools\mingw491_32"
> Put in on Windows’ PATH
> after that check in cmd 'where g++ ‘ or something (—version)
>
> clone libzmq:
>
> git clone https://github.com/zeromq/libzmq.git
>
> I’ve put it in:
> f:\zmq\libzmq
>
> after that i’ve created "f:\zmq\build" for out of source build.
>
> f:\zmq\build> cmake ../libzmq -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug
>
> after this step prepared make files are in f:\zmq\build
>
> just type
>
> f:\zmq\build> mingw32-make.exe all
>
> profit!
>
> f:\zmq\build\lib - libraries to link to in Qt project
>
> Please let me know if that helps
>
> Thanks,
> Oleksii
>
> 18 дек. 2016 г., в 23:43, Eric Gendron <conceptid at gmail.com> написал(а):
>
> No productive answer yet...
>
> I just wonder if there is really someone who succeed to compile on
> windows???  Following instructions on the website?
>
> Is it possible for someone more experienced than me with windows to try
> the instructions on website and give the correct procedure?
>
> I search the solution for a month and spent a lot of time on this...
>
> I need to be able to use 0mq in Qt C++ (no need to integrate in the Qt
> philosophy).  Qt C++ use mingw on windows.
>
> I succeed with ubuntu linux and freebsd with clang++
>
> Thanks.
>
>
> On Dec 14, 2016 11:47 AM, "Eric Gendron" <conceptid at gmail.com> wrote:
>
> I retry all the process on a new machine... Windows10PRO 64bits (but I try
> all in 32bits).
>
> I installed Qt Creator Open Source  in C:\Qt
>
> and...
>
> Following this:
>
> http://zeromq.org/docs:windows-installations#toc2
>
> What I've done:
>
> Download 0mq sources here: http://zeromq.org/intro:get-the-software
> Windows source 4.2 version
>
> unzip in: c:\src\zeromq  (so I have subfolder builds, config, doc,
> include, m4, perf, src, test, tools...)
>
>
> Download devkit on  http://rubyinstaller.org/downloads
> version For use with Ruby 2.0 and above (32bits version only):
>
> This one:    DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe
>
> Execute the file and put the result in  c:\devkit
>
> In a console, I've gone to:   C:\devkit
> and I executed   devkitvars.bat
>
> To  compile 0mq, always in console:
>
> cd C:\src\zeromq
> sh configure —prefix=C:/zeromq
> make
>
> ERROR MESSAGE HERE AND I'M STUCK.
> c:\src\zeromq>make
> Making all in doc
> make[1]: Entering directory `/c/src/zeromq/doc'
> make[1]: Nothing to be done for `all'.
> make[1]: Leaving directory `/c/src/zeromq/doc'
> make[1]: Entering directory `/c/src/zeromq'
>   CXX      src/src_libzmq_la-address.lo
> In file included from c:\devkit\mingw\bin\../lib/gcc
> /i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/include
> /iphlpapi.h:16:0,
>                  from src/windows.hpp:58,
>                  from src/precompiled.hpp:37,
>                  from src/address.cpp:30:
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:44:3: error: 'SOCKADDR_INET'
> does not name a type
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:56:3: error: 'SOCKADDR_INET'
> does not name a type
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:64:3: error: 'SOCKADDR_INET'
> does not name a type
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:79:3: error: 'SOCKADDR_INET'
> does not name a type
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:152:3: error: 'SOCKADDR_INET'
> does not name a type
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:250:3: error: 'SOCKADDR_INET'
> does not name a type
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:251:3: error: 'SOCKADDR_INET'
> does not name a type
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:254:3: error: 'SOCKADDR_INET'
> does not name a type
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:273:3: error: 'SOCKADDR_INET'
> does not name a type
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:382:9: error: 'PSOCKADDR_IN6'
> does not name a type
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:384:9: error: 'PSOCKADDR_IN6'
> does not name a type
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:387:3: error:
> 'PSOCKADDR_IN6_PAIR' has not been declared
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:454:9: error: 'SOCKADDR_INET'
> does not name a type
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:455:9: error: 'SOCKADDR_INET'
> does not name a type
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:458:3: error: 'SOCKADDR_INET'
> has not been declared
> In file included from c:\devkit\mingw\bin\../lib/gcc
> /i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/include
> /iphlpapi.h:16:0,
>                  from src/windows.hpp:58,
>                  from src/precompiled.hpp:37,
>                  from src/address.cpp:30:
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/netioapi.h:585:9: error: 'SOCKADDR_INET'
> does not name a type
> In file included from src/windows.hpp:58:0,
>                  from src/precompiled.hpp:37,
>                  from src/address.cpp:30:
> c:\devkit\mingw\bin\../lib/gcc/i686-w64-mingw32/4.7.2/../../
> ../../i686-w64-mingw32/include/iphlpapi.h:147:5: error: 'SOCKADDR_IN6'
> does not name a type
> make[1]: *** [src/src_libzmq_la-address.lo] Error 1
> make[1]: Leaving directory `/c/src/zeromq'
> make: *** [all-recursive] Error 1
>
>
> On Wed, Dec 14, 2016 at 7:12 AM, Eric Gendron <conceptid at gmail.com> wrote:
>
>> I already tried to compile... with exactly this doc.... but it gives me
>> errors at make.
>>
>> On Dec 14, 2016 3:32 AM, "Stuart Dootson" <stuart.dootson at gmail.com>
>> wrote:
>>
>>> On 13 December 2016 at 15:41, Eric Gendron <conceptid at gmail.com> wrote:
>>>
>>>> Thanks for trying.
>>>>
>>>> I have the same error: "cannot find -llibzmq_d" and if I remove the _d
>>>> part, same thing... cannot find -llibzmq
>>>>
>>>> error: ld returned 1 exist status    collect2.exe
>>>>
>>>>
>>>> My .pro:
>>>>
>>>> QT += core
>>>>
>>>> QT -= gui
>>>>
>>>>
>>>> CONFIG += c++11
>>>>
>>>>
>>>> TARGET = hello
>>>>
>>>> CONFIG += console
>>>>
>>>> CONFIG -= app_bundle
>>>>
>>>>
>>>> TEMPLATE = app
>>>>
>>>>
>>>> INCLUDEPATH += C:/zmq/include
>>>>
>>>> INCLUDEPATH += C:/zmq/src
>>>>
>>>> INCLUDEPATH += C:/zmq/bin
>>>>
>>>>
>>>> CONFIG(debug, debug|release) {
>>>>
>>>>
>>>>     LIBS += -LC:/zmq/lib -llibzmq_d
>>>>
>>>> }
>>>>
>>>>
>>>> CONFIG(release, debug|release) {
>>>>
>>>>
>>>>     LIBS += -LC:/zmq/lib -llibzmq
>>>>
>>>> }
>>>>
>>>>
>>>> SOURCES += main.cpp \
>>>>
>>>>     guid.cpp
>>>>
>>>>
>>>> HEADERS += \
>>>>
>>>>     guid.h \
>>>>
>>>>
>>>>
>>>> The folder with zmq install:
>>>>
>>>> C:\zmq
>>>> with bin, doc, include, lib, src... subfolders.
>>>>
>>>> I copied all the dll in c:\zmq\lib and I have:
>>>> I also copied all the dll in the debug folder where the app execute...
>>>>
>>>> libzmq-v90-mt-4_0_4.lib (and .dll and .pdb)
>>>> libzmq-v90-mt-gd-4_0_4.lib
>>>> libzmq-v100-mt-gd_4_0_4.lib
>>>> etc... for v110 and v120
>>>>
>>>
>>> So, the names of the lib files that you do have don't match the name
>>> you've used in the .pro file? That's a problem...
>>>
>>> But a bigger problem is that you have DLLs and LIBs built for Visual
>>> Studio (that's what the v90/100/110, -mt- and -gd- imply). They aren't
>>> going to work well with your application written using mingw's g++ for
>>> various reasons (different name mangling, different C runtimes, to name
>>> two), so you're going to need a 0mq built with mingw (see
>>> http://zeromq.org/docs:windows-installations#toc2).
>>>
>>> Stuart
>>>
>>>
>>> _______________________________________________
>>> zeromq-dev mailing list
>>> zeromq-dev at lists.zeromq.org
>>> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>
>>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20161219/2565ba89/attachment.htm>


More information about the zeromq-dev mailing list