Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. "procedure entry point could not be located ..."
Forum Updated to NodeBB v4.3 + New Features

"procedure entry point could not be located ..."

Scheduled Pinned Locked Moved Solved General and Desktop
34 Posts 6 Posters 20.8k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • hskoglundH hskoglund

    Hi, when you're running the debug version of menus.exe Qt is looking for DLL files with other names compared to when you're running the release version of menus.exe. For example, the debug version of the Qt5Core.dll is called Qt5Cored.dll. So (just a guess) if you have copied the wrong flavor of Qt5Core.dll but the correct version of Qt5Cored.dll then it makes sense that the debug version of menus.exe works fine but the release version goes south.

    D Offline
    D Offline
    drmhkelley
    wrote on last edited by
    #11

    @hskoglund
    Well, I haven't actually "copied" any .dll files - apart from whatever the Qt installer does at install time.

    When I manually compile apps (not within Qt Creator), I have set up the appropriate Makefile to load explicit libraries instead of just setting the library search paths so they can be found. So for those apps, I'm pretty confident I'm using the correct libraries.

    1 Reply Last reply
    0
    • hskoglundH Offline
      hskoglundH Offline
      hskoglund
      wrote on last edited by hskoglund
      #12

      You can look at your PATH environment variable, perhaps in the list of directories there is a directory entry for a ..\Tools\QtCreator\bin before the MinGW version.

      Edit: also, to be sure, you could do as @ambershark suggests above: open a CMD window and type "dir c:\qt5core.dll/a/s" and see how many hits you get.

      D 1 Reply Last reply
      0
      • hskoglundH hskoglund

        You can look at your PATH environment variable, perhaps in the list of directories there is a directory entry for a ..\Tools\QtCreator\bin before the MinGW version.

        Edit: also, to be sure, you could do as @ambershark suggests above: open a CMD window and type "dir c:\qt5core.dll/a/s" and see how many hits you get.

        D Offline
        D Offline
        drmhkelley
        wrote on last edited by
        #13

        @hskoglund

        my PATH variable does not include the QtCreator directory - the shortcut I use to run Creator includes the full path to the executable. I do include the path for the mingw libraries, and if I want to run Qt application outside the Creator environment, I have to include the relevant Qt paths in the PATH variable - and I have to keep those up-to-date for the relevant versions of mingw and Qt. I'm pretty confident that is all done correctly.

        Were I to run the suggested dir command, I would find about 7 sets of relevant libraries. There would be the binary downloads for Qt 5.92 and Qt 5.10.0, the versions I compiled with mingw-w64 for those two versions of Qt, the installed versions of both of those, and the binary download for 5.10.1 that I installed this morning. I do have to pay attention that the PATH variable, the Creator tool chain, and the various makefiles all line up correctly.

        I worry that we might actually need to be running down some other rabbit hole.

        A 1 Reply Last reply
        0
        • hskoglundH Offline
          hskoglundH Offline
          hskoglund
          wrote on last edited by
          #14

          Yes, a mix of multiple Qt versions and multiple settings/editing of the PATH variable could be a potent mix or a dangerous one...

          I've only been doing Qt dev. for a couple of years but I never touch my PATH setting, instead I use a program called windeployqt.exe, it copies the Qt libraries (Qt5Core.dll etc.) into the same folder where your menus.exe file resides. That way you never have to change the PATH, Windows always looks for a Qt5Core.dll in the same directory as the .exe file.

          Also, when you have a pristine PATH setting, running your program from Qt Creator always works :-)

          D 1 Reply Last reply
          3
          • D drmhkelley

            @hskoglund

            my PATH variable does not include the QtCreator directory - the shortcut I use to run Creator includes the full path to the executable. I do include the path for the mingw libraries, and if I want to run Qt application outside the Creator environment, I have to include the relevant Qt paths in the PATH variable - and I have to keep those up-to-date for the relevant versions of mingw and Qt. I'm pretty confident that is all done correctly.

            Were I to run the suggested dir command, I would find about 7 sets of relevant libraries. There would be the binary downloads for Qt 5.92 and Qt 5.10.0, the versions I compiled with mingw-w64 for those two versions of Qt, the installed versions of both of those, and the binary download for 5.10.1 that I installed this morning. I do have to pay attention that the PATH variable, the Creator tool chain, and the various makefiles all line up correctly.

            I worry that we might actually need to be running down some other rabbit hole.

            A Offline
            A Offline
            ambershark
            wrote on last edited by
            #15

            @drmhkelley Yea you are most definitely mixing Qt dlls. So what you can try is to clear your path and then run your binary. It will want dlls to support it, it will tell you which at each run. Copy those specific ones into your local dir and keep running until you get it all set up.

            This will prove that it is working properly and that you are mixing dlls, however figuring out where you are mixing dlls, you will need to find where they are in your PATH variable.

            To clear your path, just open a cmd and type set PATH="". Then type path, it should show you PATH="". Now you can run your binary from that cmd window i.e. mybinary.exe and it will pop up an error telling you which dlls are missing (1 at a time).

            After you figure that out just go through with that dir command I put above, or using find figure out where all the Qt dlls are on your system and find which ones are in the PATH.

            Should be nice and easy. Good luck! :)

            My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

            D 1 Reply Last reply
            0
            • A ambershark

              @drmhkelley Yea you are most definitely mixing Qt dlls. So what you can try is to clear your path and then run your binary. It will want dlls to support it, it will tell you which at each run. Copy those specific ones into your local dir and keep running until you get it all set up.

              This will prove that it is working properly and that you are mixing dlls, however figuring out where you are mixing dlls, you will need to find where they are in your PATH variable.

              To clear your path, just open a cmd and type set PATH="". Then type path, it should show you PATH="". Now you can run your binary from that cmd window i.e. mybinary.exe and it will pop up an error telling you which dlls are missing (1 at a time).

              After you figure that out just go through with that dir command I put above, or using find figure out where all the Qt dlls are on your system and find which ones are in the PATH.

              Should be nice and easy. Good luck! :)

              D Offline
              D Offline
              drmhkelley
              wrote on last edited by
              #16

              @ambershark
              I'm pretty sure this thread has gone off-track somewhere and that I need to be considering other directions for solution.

              I am quite familiar with how to keep paths and libraries straight, so lets start from scratch and consider the following.

              1. I have a newly downloaded and installed Qt package, Qt 5.10.1, located in c:/Qt-5.10.1
              2. PATH variable is clean, making no reference to mingw. to Qt. or anything else now required for Windows to work.
              3. New copy of the widgets/widgets/lineedits example app.
              4. Two .bat files, one to build the app and one to run the resulting executable.
              5. The build .bat file appends the following to the clean PATH in order for "mingw32-make" to work: c:/Qt-5.10.1/Tools/mingw530_32/bin.
              6. The run .bat file appends c:/Qt-5.10.1/5.10.1/mingw53_32/bin to my clean PATH variable so the Qt libs can be found. It then runs either the debug or the release version of the app.

              The debug version works, the release version doesn't.

              I don't see where in this process there is any opportunity for .dll confusions. If you do, please enlighten me.

              A JKSHJ 2 Replies Last reply
              0
              • hskoglundH hskoglund

                Yes, a mix of multiple Qt versions and multiple settings/editing of the PATH variable could be a potent mix or a dangerous one...

                I've only been doing Qt dev. for a couple of years but I never touch my PATH setting, instead I use a program called windeployqt.exe, it copies the Qt libraries (Qt5Core.dll etc.) into the same folder where your menus.exe file resides. That way you never have to change the PATH, Windows always looks for a Qt5Core.dll in the same directory as the .exe file.

                Also, when you have a pristine PATH setting, running your program from Qt Creator always works :-)

                D Offline
                D Offline
                drmhkelley
                wrote on last edited by
                #17

                @hskoglund
                Well, may not always work for qtcreator.

                New installation of Qt 5.10.1, "pristine" PATH, run QtCreator, load example .pro. Build debug, works. Build release, fails.

                I'm really at a loss to see where I've hidden the trap I'm tripping over.

                1 Reply Last reply
                0
                • D drmhkelley

                  @ambershark
                  I'm pretty sure this thread has gone off-track somewhere and that I need to be considering other directions for solution.

                  I am quite familiar with how to keep paths and libraries straight, so lets start from scratch and consider the following.

                  1. I have a newly downloaded and installed Qt package, Qt 5.10.1, located in c:/Qt-5.10.1
                  2. PATH variable is clean, making no reference to mingw. to Qt. or anything else now required for Windows to work.
                  3. New copy of the widgets/widgets/lineedits example app.
                  4. Two .bat files, one to build the app and one to run the resulting executable.
                  5. The build .bat file appends the following to the clean PATH in order for "mingw32-make" to work: c:/Qt-5.10.1/Tools/mingw530_32/bin.
                  6. The run .bat file appends c:/Qt-5.10.1/5.10.1/mingw53_32/bin to my clean PATH variable so the Qt libs can be found. It then runs either the debug or the release version of the app.

                  The debug version works, the release version doesn't.

                  I don't see where in this process there is any opportunity for .dll confusions. If you do, please enlighten me.

                  A Offline
                  A Offline
                  ambershark
                  wrote on last edited by
                  #18

                  I'm pretty sure this thread has gone off-track somewhere and that I need to be considering other directions for solution.

                  I am quite familiar with how to keep paths and libraries straight, so lets start from scratch and consider the following.

                  That's good, however the error you are getting is from mixing dlls. We just need to figure out where/why they are being mixed.

                  1. Two .bat files, one to build the app and one to run the resulting executable.

                  Can you share these 2 batch files?

                  The debug version works, the release version doesn't.

                  2 different sets of dlls. This doesn't surprise me as you may have dirty release dlls but clean debug ones.

                  I don't see where in this process there is any opportunity for .dll confusions. If you do, please enlighten me.

                  Possibly in the build itself then. Maybe linking with libs from one Qt which don't match the DLL that is being used at run time. Hard to know without seeing the build process or environment.

                  My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

                  D 1 Reply Last reply
                  0
                  • D drmhkelley

                    @ambershark
                    I'm pretty sure this thread has gone off-track somewhere and that I need to be considering other directions for solution.

                    I am quite familiar with how to keep paths and libraries straight, so lets start from scratch and consider the following.

                    1. I have a newly downloaded and installed Qt package, Qt 5.10.1, located in c:/Qt-5.10.1
                    2. PATH variable is clean, making no reference to mingw. to Qt. or anything else now required for Windows to work.
                    3. New copy of the widgets/widgets/lineedits example app.
                    4. Two .bat files, one to build the app and one to run the resulting executable.
                    5. The build .bat file appends the following to the clean PATH in order for "mingw32-make" to work: c:/Qt-5.10.1/Tools/mingw530_32/bin.
                    6. The run .bat file appends c:/Qt-5.10.1/5.10.1/mingw53_32/bin to my clean PATH variable so the Qt libs can be found. It then runs either the debug or the release version of the app.

                    The debug version works, the release version doesn't.

                    I don't see where in this process there is any opportunity for .dll confusions. If you do, please enlighten me.

                    JKSHJ Offline
                    JKSHJ Offline
                    JKSH
                    Moderators
                    wrote on last edited by JKSH
                    #19

                    @drmhkelley said in "procedure entry point could not be located ...":

                    I am quite familiar with how to keep paths and libraries straight, so lets start from scratch and consider the following.

                    1. I have a newly downloaded and installed Qt package, Qt 5.10.1, located in c:/Qt-5.10.1
                    2. PATH variable is clean, making no reference to mingw. to Qt. or anything else now required for Windows to work.
                    3. New copy of the widgets/widgets/lineedits example app.
                    4. Two .bat files, one to build the app and one to run the resulting executable.
                    5. The build .bat file appends the following to the clean PATH in order for "mingw32-make" to work: c:/Qt-5.10.1/Tools/mingw530_32/bin.
                    6. The run .bat file appends c:/Qt-5.10.1/5.10.1/mingw53_32/bin to my clean PATH variable so the Qt libs can be found. It then runs either the debug or the release version of the app.

                    This procedure looks very solid. However, for some reason your release build is still not linking to the correct version of Qt5Core.dll. We know this because _ZN10QArrayData10deallocateEPS_jj is from the MinGW version of Qt5Core.dll.

                    We need to figure out if something in your system is interfering with your DLL linking process, or if your copy of Qt5Core.dll itself has been corrupted.

                    Questions:

                    • How did you install Qt 5.10.1?
                    • What is the size (exact number of bytes) or MD5 checksum of your copy of Qt5Core.dll? (I'm not in front of a PC at the moment, but when I get home I can check my copy. Or someone else on this forum can check)

                    Another check: While your debug build is running, use Process Explorer or ListDLLs (both tools by SysInternals) to see the exact paths of the DLLs used. Repeat this while the error dialog is open for your Release build. Are all of your Qt DLLs being loaded from c:/Qt-5.10.1/5.10.1/mingw53_32/bin ?

                    Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                    D 1 Reply Last reply
                    3
                    • hskoglundH Offline
                      hskoglundH Offline
                      hskoglund
                      wrote on last edited by
                      #20

                      Hi, just to add to @JKSH, usually the reason why the debug version works (but not the release) is that the Qt5Cored.dll (i.e. the debug flavor) is not as widely spread/deployed as Qt5Core.dll (the release version). Qt5 is quite popular among Microsoft's developers, for example.

                      I've encountered the same problem (the release version tanks but not the debug) due to OneDrive from Microsoft also having copy of the Qt libraries (MSVC version, not MinGW). And OneDrive was listed in the PATH from a factory installation, so when you tried to run your MinGW Qt program it failed, because OneDrive was listed in the PATH before the MinGW Qt libraries so the wrong Qt5Core.dll was picked up :-(

                      You could try: in your .bat file used to run your Qt program, instead of appending ";c:/Qt-5.10.1/5.10.1/mingw53_32/bin" try prepending it so it listed in the PATH as the first directory...

                      1 Reply Last reply
                      2
                      • A ambershark

                        I'm pretty sure this thread has gone off-track somewhere and that I need to be considering other directions for solution.

                        I am quite familiar with how to keep paths and libraries straight, so lets start from scratch and consider the following.

                        That's good, however the error you are getting is from mixing dlls. We just need to figure out where/why they are being mixed.

                        1. Two .bat files, one to build the app and one to run the resulting executable.

                        Can you share these 2 batch files?

                        The debug version works, the release version doesn't.

                        2 different sets of dlls. This doesn't surprise me as you may have dirty release dlls but clean debug ones.

                        I don't see where in this process there is any opportunity for .dll confusions. If you do, please enlighten me.

                        Possibly in the build itself then. Maybe linking with libs from one Qt which don't match the DLL that is being used at run time. Hard to know without seeing the build process or environment.

                        D Offline
                        D Offline
                        drmhkelley
                        wrote on last edited by ambershark
                        #21

                        @ambershark

                        I'm happy to provide whatever details are useful figuring this out. Unfortunately, I don't really know how best to include some potentially relevant files. I'll just include them inline and hope that the inclusion of separator lines of stars will make it clear what I mean.

                        1. Here is the Makefile I use (named myMakefile)
                        ***************************************************************************
                        BUILDTYPE ?= debug
                        
                        ifeq ($(BUILDTYPE),standalone)
                        DEFINES       = -DUNICODE -D_UNICODE -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN
                        LIBTYPE = lib
                        QTTYPE = Static
                        else
                        DEFINES       = -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN
                        LIBTYPE = dll
                        QTTYPE = 
                        endif
                        
                        ifeq ($(BUILDTYPE),debug)
                        DEBUGINFO    = -g
                        DEBUGFLAG    = d
                        OPTIMIZEFLAG = -O0
                        else
                        DEBUGINFO    = 
                        DEBUGFLAG    = 
                        OPTIMIZEFLAG = -O2
                        endif
                        
                        QTHOME = c:/Qt-5.10.1/5.10.1/mingw53_32
                        
                        MINGWHOME = c:/Qt-5.10.1/Tools/mingw530_32
                        MINGWINCLUDE  = $(MINGWHOME)/i686-w64-mingw32/include
                        
                        ####### Compiler, tools and options
                        
                        CC            = gcc
                        CPP           = g++
                        
                        
                        CFLAGS        = -fno-keep-inline-dllexport $(DEBUGINFO) $(OPTIMIZEFLAG) -Wextra -Wall -W $(DEFINES)
                        LD	      = $(CPP)
                        
                        INCPATH	      = -I. \
                        		-I/Users/Owner/Documents/Mike/src/include \
                        		-isystem $(QTHOME)/include \
                        		-isystem $(QTHOME)/include/QtPrintSupport \
                        		-isystem $(QTHOME)/include/QtWidgets \
                        		-isystem $(QTHOME)/include/QtGui \
                        		-isystem $(QTHOME)/include/QtCore \
                        		-Idebug \
                        		-isystem $(QTHOME)/mkspecs/win32-g++ 
                        
                        MINGWINCPATH  = -I$(MINGWHOME)/lib/gcc/i686-w64-mingw32/7.1.0/include/c++ \
                        	-I$(MINGWHOME)/lib/gcc/i686-w64-mingw32/7.1.0/include/c++/i686-w64-mingw32 \
                        	-I$(MINGWHOME)/lib/gcc/i686-w64-mingw32/7.1.0/include/c++/backward \
                        	-I$(MINGWHOME)/lib/gcc/i686-w64-mingw32/7.1.0/include \
                        	-I$(MINGWHOME)/lib/gcc/i686-w64-mingw32/7.1.0/include-fixed \
                        	-I$(MINGWHOME)/i686-w64-mingw32/include
                        
                        MOC_INCPATH   = $(BUILDTYPE)/moc_predefs.h \
                        		-I$(QTHOME)/mkspecs/win32-g++ \
                        		-I/Users/Owner/Documents/Mike/src/Qt/lineedits \
                        		-I/Users/Owner/Documents/Mike/src/include \
                        		-I$(QTHOME)/include \
                        		-I$(QTHOME)/include/QtPrintSupport \
                        		-I$(QTHOME)/include/QtWidgets \
                        		-I$(QTHOME)/include/QtGui \
                        		-I$(QTHOME)/include/QtCore \
                        		$(MINGWINCPATH)
                        
                        CPPFLAGS = -fno-keep-inline-dllexport \
                        	$(DEBUGINFO) \
                        	$(OPTIMIZEFLAG) \
                        	-Wextra \
                        	-Wall \
                        	-W \
                        	-fexceptions \
                        	-mthreads \
                        	$(DEFINES) \
                        	$(INCPATH) \
                        	-std=c++11
                        
                        LINKER = g++
                        LFLAGS = -Wl,-subsystem,windows -mthreads
                        LIBS  = -lglu32 \
                        	-lopengl32 \
                        	-lgdi32 \
                        	-luser32 \
                        	-lmingw32 \
                        	$(QTHOME)/lib/libqtmain$(DEBUGFLAG).a \
                        	-L$(QTHOME)/lib \
                        	$(QTHOME)/lib/libQt5PrintSupport$(DEBUGFLAG).a \
                        	$(QTHOME)/lib/libQt5Widgets$(DEBUGFLAG).a \
                        	$(QTHOME)/lib/libQt5Gui$(DEBUGFLAG).a \
                        	$(QTHOME)/lib/libQt5Core$(DEBUGFLAG).a
                        
                        QMAKE         = $(QTHOME)/bin/qmake.exe
                        IDC           = idc
                        IDL           = midl
                        ZIP           = zip -r -9
                        DEF_FILE      = 
                        RES_FILE      = 
                        COPY          = copy /y
                        SED           = $(QMAKE) -install sed
                        COPY_FILE     = copy /y
                        COPY_DIR      = xcopy /s /q /y /i
                        DEL_FILE      = del
                        DEL_DIR       = rmdir
                        MOVE          = move
                        CHK_DIR_EXISTS= if not exist
                        MKDIR         = mkdir
                        INSTALL_FILE    = copy /y
                        INSTALL_PROGRAM = copy /y
                        INSTALL_DIR     = xcopy /s /q /y /i
                        QINSTALL        = $(QTHOME)/bin/qmake.exe -install qinstall
                        QINSTALL_PROGRAM = $(QTHOME)/bin/qmake.exe -install qinstall -exe
                        
                        ####### Output directory
                        
                        OBJECTS_DIR   = $(BUILDTYPE)
                        
                        ####### Files
                        
                        SOURCES       = window.cpp \
                        		main.cpp
                        
                        MOC_SOURCES   = $(BUILDTYPE)/moc_window.cpp
                        
                        OBJECTS       =	$(BUILDTYPE)/window.o \
                        		$(BUILDTYPE)/main.o
                        
                        MOC_OBJECTS   = $(BUILDTYPE)/moc_window.o
                        
                        QMAKE_TARGET  = lineedits
                        DESTDIR        = $(BUILDTYPE)/ #avoid trailing-slash linebreak
                        TARGET         = lineedits.exe
                        DESTDIR_TARGET = $(BUILDTYPE)/lineedits.exe
                        
                        DEPDIR := $(BUILDTYPE)\.d
                        DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Td
                        
                        POSTCOMPILE = move $(DEPDIR)\$*.Td $(DEPDIR)\$*.d
                        
                        $(BUILDTYPE)/%.o : %.cpp
                        $(BUILDTYPE)/%.o : %.cpp $(DEPDIR)/%.d $(BUILDTYPE)/moc_predefs.h
                        	$(CPP) -c $(DEPFLAGS) $(CPPFLAGS) -o $(BUILDTYPE)/$*.o $<
                        	$(POSTCOMPILE)
                        	$(QTHOME)/bin/moc.exe $(DEFINES) --include $(MOC_INCPATH) $*.hpp -o $(BUILDTYPE)/moc_$*.cpp
                        	$(CPP) -c $(CPPFLAGS) -o $(BUILDTYPE)/moc_$*.o $(BUILDTYPE)/moc_$*.cpp
                        
                        $(DEPDIR)/%.d: ;
                        .PRECIOUS: $(DEPDIR)/%.d
                        
                        
                        ####### Build rules
                        
                        
                        first: all
                        
                        all: $(DESTDIR_TARGET)
                        $(DESTDIR_TARGET):  $(OBJECTS) 
                        	$(LINKER) $(LFLAGS) -o $(DESTDIR_TARGET) $(OBJECTS) $(MOC_OBJECTS) $(SHAREDFLAG) $(LIBS)
                        
                        clean: compiler_clean 
                        	-$(DEL_FILE) $(BUILDTYPE)\*.o
                        	-$(DEL_FILE) $(BUILDTYPE)\$(TARGET)
                        
                        mocclean: compiler_moc_header_clean compiler_moc_source_clean
                        
                        mocables: compiler_moc_header_make_all compiler_moc_source_make_all
                        
                        check: first
                        
                        benchmark: first
                        
                        compiler_no_pch_compiler_make_all:
                        compiler_no_pch_compiler_clean:
                        compiler_rcc_make_all:
                        compiler_rcc_clean:
                        compiler_moc_predefs_make_all: $(BUILDTYPE)/moc_predefs.h
                        compiler_moc_predefs_clean:
                        	-$(DEL_FILE) $(BUILDTYPE)\moc_predefs.h
                        
                        $(BUILDTYPE)/moc_predefs.h: $(QTHOME)/mkspecs/features/data/dummy.cpp
                        	g++ -fno-keep-inline-dllexport -g -Wextra -Wall -W -dM -E -o $(BUILDTYPE)/moc_predefs.h $(QTHOME)/mkspecs/features/data/dummy.cpp
                        
                        compiler_moc_header_make_all: $(MOC_SOURCES)
                        
                        compiler_moc_header_clean:
                        	-$(DEL_FILE) $(BUILDTYPE)\moc_*.cpp
                        
                        compiler_moc_objc_header_make_all:
                        compiler_moc_objc_header_clean:
                        compiler_moc_source_make_all:
                        compiler_moc_source_clean:
                        compiler_uic_make_all:
                        compiler_uic_clean:
                        compiler_yacc_decl_make_all:
                        compiler_yacc_decl_clean:
                        compiler_yacc_impl_make_all:
                        compiler_yacc_impl_clean:
                        compiler_lex_make_all:
                        compiler_lex_clean:
                        compiler_clean: compiler_moc_predefs_clean compiler_moc_header_clean 
                        
                        ####### Compile
                        
                        $(BUILDTYPE)/main.o : main.cpp $(DEPDIR)/main.d
                        	$(CPP) -c -MT $(BUILDTYPE)/main.o -MMD -MP -MF $(DEPDIR)/main.Td $(CPPFLAGS) -o $(BUILDTYPE)/main.o main.cpp
                        	move $(DEPDIR)\main.Td $(DEPDIR)\main.d
                        
                        ####### Install
                        
                        include $(wildcard $(patsubst %,$(DEPDIR)/%.d,$(basename $(SOURCES))))
                        ***************************************************************************
                        
                        1. to make the apps, i use this .bat file
                        ****************************************************************************set GEORGE=%PATH%
                        PATH=%PATH%;c:/Qt-5.10.1/Tools/mingw530_32/bin/
                        
                        mingw32-make -f myMakefile BUILDTYPE=debug   all
                        mingw32-make -f myMakefile BUILDTYPE=release all
                        
                        set PATH=%GEORGE%
                        ****************************************************************************
                        
                        1. to run the built app, I use either
                        ****************************************************************************set GEORGE=%PATH%
                        PATH=%PATH%;c:/Qt-5.10.1/5.10.1/mingw53_32/bin
                        
                        debug\lineedits.exe
                        
                        set PATH=%GEORGE%
                        ****************************************************************************
                        or
                        ****************************************************************************set GEORGE=%PATH%
                        PATH=%PATH%;c:/Qt-5.10.1/5.10.1/mingw53_32/bin
                        
                        release\lineedits.exe
                        
                        set PATH=%GEORGE%
                        **********************************************************************
                        
                        1. the output from the build process is
                        **********************************************************************
                        C:\Users\Owner\Documents\Mike\src\Qt\lineedits>makeall
                        
                        C:\Users\Owner\Documents\Mike\src\Qt\lineedits>set GEORGE=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Users\Owner\Documents\Mike\python\MainInstallation\Scripts\;C:\Users\Owner\Documents\Mike\python\MainInstallation\;C:\Users\Owner\AppData\Local\Microsoft\WindowsApps;
                        
                        C:\Users\Owner\Documents\Mike\src\Qt\lineedits>PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Users\Owner\Documents\Mike\python\MainInstallation\Scripts\;C:\Users\Owner\Documents\Mike\python\MainInstallation\;C:\Users\Owner\AppData\Local\Microsoft\WindowsApps;;c:/Qt-5.10.1/Tools/mingw530_32/bin/
                        
                        C:\Users\Owner\Documents\Mike\src\Qt\lineedits>mingw32-make -f myMakefile BUILDTYPE=debug   all
                        g++ -fno-keep-inline-dllexport -g -Wextra -Wall -W -dM -E -o debug/moc_predefs.h c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/features/data/dummy.cpp
                        g++ -c -MT debug/window.o -MMD -MP -MF debug\.d/window.Td -fno-keep-inline-dllexport -g -O0 -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I. -I/Users/Owner/Documents/Mike/src/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Idebug -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++  -std=c++11 -o debug/window.o window.cpp
                        move debug\.d\window.Td debug\.d\window.d
                                1 file(s) moved.
                        c:/Qt-5.10.1/5.10.1/mingw53_32/bin/moc.exe -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN --include debug/moc_predefs.h -Ic:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++ -I/Users/Owner/Documents/Mike/src/Qt/lineedits -I/Users/Owner/Documents/Mike/src/include -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include/c++ -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include/c++/i686-w64-mingw32 -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include/c++/backward -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include-fixed -Ic:/Qt-5.10.1/Tools/mingw530_32/i686-w64-mingw32/include window.hpp -o debug/moc_window.cpp
                        g++ -c -fno-keep-inline-dllexport -g -O0 -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I. -I/Users/Owner/Documents/Mike/src/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Idebug -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++  -std=c++11 -o debug/moc_window.o debug/moc_window.cpp
                        g++ -c -MT debug/main.o -MMD -MP -MF debug\.d/main.Td -fno-keep-inline-dllexport -g -O0 -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I. -I/Users/Owner/Documents/Mike/src/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Idebug -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++  -std=c++11 -o debug/main.o main.cpp
                        move debug\.d\main.Td debug\.d\main.d
                                1 file(s) moved.
                        g++ -Wl,-subsystem,windows -mthreads -o debug/lineedits.exe debug/window.o debug/main.o debug/moc_window.o  -lglu32 -lopengl32 -lgdi32 -luser32 -lmingw32 c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libqtmaind.a -Lc:/Qt-5.10.1/5.10.1/mingw53_32/lib c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5PrintSupportd.a c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5Widgetsd.a c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5Guid.a c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5Cored.a
                        
                        C:\Users\Owner\Documents\Mike\src\Qt\lineedits>mingw32-make -f myMakefile BUILDTYPE=release all
                        g++ -fno-keep-inline-dllexport -g -Wextra -Wall -W -dM -E -o release/moc_predefs.h c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/features/data/dummy.cpp
                        g++ -c -MT release/window.o -MMD -MP -MF release\.d/window.Td -fno-keep-inline-dllexport  -O2 -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I. -I/Users/Owner/Documents/Mike/src/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Idebug -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++  -std=c++11 -o release/window.o window.cpp
                        move release\.d\window.Td release\.d\window.d
                                1 file(s) moved.
                        c:/Qt-5.10.1/5.10.1/mingw53_32/bin/moc.exe -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN --include release/moc_predefs.h -Ic:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++ -I/Users/Owner/Documents/Mike/src/Qt/lineedits -I/Users/Owner/Documents/Mike/src/include -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include/c++ -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include/c++/i686-w64-mingw32 -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include/c++/backward -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include-fixed -Ic:/Qt-5.10.1/Tools/mingw530_32/i686-w64-mingw32/include window.hpp -o release/moc_window.cpp
                        g++ -c -fno-keep-inline-dllexport  -O2 -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I. -I/Users/Owner/Documents/Mike/src/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Idebug -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++  -std=c++11 -o release/moc_window.o release/moc_window.cpp
                        g++ -c -MT release/main.o -MMD -MP -MF release\.d/main.Td -fno-keep-inline-dllexport  -O2 -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I. -I/Users/Owner/Documents/Mike/src/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Idebug -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++  -std=c++11 -o release/main.o main.cpp
                        move release\.d\main.Td release\.d\main.d
                                1 file(s) moved.
                        g++ -Wl,-subsystem,windows -mthreads -o release/lineedits.exe release/window.o release/main.o release/moc_window.o  -lglu32 -lopengl32 -lgdi32 -luser32 -lmingw32 c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libqtmain.a -Lc:/Qt-5.10.1/5.10.1/mingw53_32/lib c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5PrintSupport.a c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5Widgets.a c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5Gui.a c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5Core.a
                        
                        C:\Users\Owner\Documents\Mike\src\Qt\lineedits>set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Users\Owner\Documents\Mike\python\MainInstallation\Scripts\;C:\Users\Owner\Documents\Mike\python\MainInstallation\;C:\Users\Owner\AppData\Local\Microsoft\WindowsApps;
                        
                        C:\Users\Owner\Documents\Mike\src\Qt\lineedits>
                        **********************************************************************
                        

                        [~ambershark]: added code tags to make it easier to read.

                        A 1 Reply Last reply
                        0
                        • JKSHJ JKSH

                          @drmhkelley said in "procedure entry point could not be located ...":

                          I am quite familiar with how to keep paths and libraries straight, so lets start from scratch and consider the following.

                          1. I have a newly downloaded and installed Qt package, Qt 5.10.1, located in c:/Qt-5.10.1
                          2. PATH variable is clean, making no reference to mingw. to Qt. or anything else now required for Windows to work.
                          3. New copy of the widgets/widgets/lineedits example app.
                          4. Two .bat files, one to build the app and one to run the resulting executable.
                          5. The build .bat file appends the following to the clean PATH in order for "mingw32-make" to work: c:/Qt-5.10.1/Tools/mingw530_32/bin.
                          6. The run .bat file appends c:/Qt-5.10.1/5.10.1/mingw53_32/bin to my clean PATH variable so the Qt libs can be found. It then runs either the debug or the release version of the app.

                          This procedure looks very solid. However, for some reason your release build is still not linking to the correct version of Qt5Core.dll. We know this because _ZN10QArrayData10deallocateEPS_jj is from the MinGW version of Qt5Core.dll.

                          We need to figure out if something in your system is interfering with your DLL linking process, or if your copy of Qt5Core.dll itself has been corrupted.

                          Questions:

                          • How did you install Qt 5.10.1?
                          • What is the size (exact number of bytes) or MD5 checksum of your copy of Qt5Core.dll? (I'm not in front of a PC at the moment, but when I get home I can check my copy. Or someone else on this forum can check)

                          Another check: While your debug build is running, use Process Explorer or ListDLLs (both tools by SysInternals) to see the exact paths of the DLLs used. Repeat this while the error dialog is open for your Release build. Are all of your Qt DLLs being loaded from c:/Qt-5.10.1/5.10.1/mingw53_32/bin ?

                          D Offline
                          D Offline
                          drmhkelley
                          wrote on last edited by
                          #22

                          @JKSH
                          I installed Qt 5.10.1 using the Qt on-line installer qt-unified-windows-x86-3.0.2-online.exe

                          I don't know how where to find the MD5 checksums, but here is some info about Qt5Core and Qt5Widgets, both of which are relevant.

                          -rw-rw-rw- 1 Owner None 121510926 03-10 10:20 Qt5Cored.dll
                          -rw-rw-rw- 1 Owner None 6180864 03-10 10:19 Qt5Core.dll
                          -rw-rw-rw- 1 Owner None 167921455 02-09 04:36 Qt5Widgetsd.dll
                          -rw-rw-rw- 1 Owner None 6232576 02-09 04:36 Qt5Widgets.dll

                          Sorry, I don't understand your request about "process explorer", but hopefully the info I provided in my prior post has equivalent information.

                          Also, your info about OneDrive is interesting, but I'm not sure it is relevant to my situation.

                          However, I think I tested the essence of you suggesting by modifying the .bat files I submitted earlier. Instead of appending the relevant mingw or Qt folders to my PATH, I simply set PATH to just those locations.

                          Behavior was the same.

                          If this isn't clear, I will be happy to make it more explicit.

                          A JKSHJ 2 Replies Last reply
                          0
                          • D drmhkelley

                            @ambershark

                            I'm happy to provide whatever details are useful figuring this out. Unfortunately, I don't really know how best to include some potentially relevant files. I'll just include them inline and hope that the inclusion of separator lines of stars will make it clear what I mean.

                            1. Here is the Makefile I use (named myMakefile)
                            ***************************************************************************
                            BUILDTYPE ?= debug
                            
                            ifeq ($(BUILDTYPE),standalone)
                            DEFINES       = -DUNICODE -D_UNICODE -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN
                            LIBTYPE = lib
                            QTTYPE = Static
                            else
                            DEFINES       = -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN
                            LIBTYPE = dll
                            QTTYPE = 
                            endif
                            
                            ifeq ($(BUILDTYPE),debug)
                            DEBUGINFO    = -g
                            DEBUGFLAG    = d
                            OPTIMIZEFLAG = -O0
                            else
                            DEBUGINFO    = 
                            DEBUGFLAG    = 
                            OPTIMIZEFLAG = -O2
                            endif
                            
                            QTHOME = c:/Qt-5.10.1/5.10.1/mingw53_32
                            
                            MINGWHOME = c:/Qt-5.10.1/Tools/mingw530_32
                            MINGWINCLUDE  = $(MINGWHOME)/i686-w64-mingw32/include
                            
                            ####### Compiler, tools and options
                            
                            CC            = gcc
                            CPP           = g++
                            
                            
                            CFLAGS        = -fno-keep-inline-dllexport $(DEBUGINFO) $(OPTIMIZEFLAG) -Wextra -Wall -W $(DEFINES)
                            LD	      = $(CPP)
                            
                            INCPATH	      = -I. \
                            		-I/Users/Owner/Documents/Mike/src/include \
                            		-isystem $(QTHOME)/include \
                            		-isystem $(QTHOME)/include/QtPrintSupport \
                            		-isystem $(QTHOME)/include/QtWidgets \
                            		-isystem $(QTHOME)/include/QtGui \
                            		-isystem $(QTHOME)/include/QtCore \
                            		-Idebug \
                            		-isystem $(QTHOME)/mkspecs/win32-g++ 
                            
                            MINGWINCPATH  = -I$(MINGWHOME)/lib/gcc/i686-w64-mingw32/7.1.0/include/c++ \
                            	-I$(MINGWHOME)/lib/gcc/i686-w64-mingw32/7.1.0/include/c++/i686-w64-mingw32 \
                            	-I$(MINGWHOME)/lib/gcc/i686-w64-mingw32/7.1.0/include/c++/backward \
                            	-I$(MINGWHOME)/lib/gcc/i686-w64-mingw32/7.1.0/include \
                            	-I$(MINGWHOME)/lib/gcc/i686-w64-mingw32/7.1.0/include-fixed \
                            	-I$(MINGWHOME)/i686-w64-mingw32/include
                            
                            MOC_INCPATH   = $(BUILDTYPE)/moc_predefs.h \
                            		-I$(QTHOME)/mkspecs/win32-g++ \
                            		-I/Users/Owner/Documents/Mike/src/Qt/lineedits \
                            		-I/Users/Owner/Documents/Mike/src/include \
                            		-I$(QTHOME)/include \
                            		-I$(QTHOME)/include/QtPrintSupport \
                            		-I$(QTHOME)/include/QtWidgets \
                            		-I$(QTHOME)/include/QtGui \
                            		-I$(QTHOME)/include/QtCore \
                            		$(MINGWINCPATH)
                            
                            CPPFLAGS = -fno-keep-inline-dllexport \
                            	$(DEBUGINFO) \
                            	$(OPTIMIZEFLAG) \
                            	-Wextra \
                            	-Wall \
                            	-W \
                            	-fexceptions \
                            	-mthreads \
                            	$(DEFINES) \
                            	$(INCPATH) \
                            	-std=c++11
                            
                            LINKER = g++
                            LFLAGS = -Wl,-subsystem,windows -mthreads
                            LIBS  = -lglu32 \
                            	-lopengl32 \
                            	-lgdi32 \
                            	-luser32 \
                            	-lmingw32 \
                            	$(QTHOME)/lib/libqtmain$(DEBUGFLAG).a \
                            	-L$(QTHOME)/lib \
                            	$(QTHOME)/lib/libQt5PrintSupport$(DEBUGFLAG).a \
                            	$(QTHOME)/lib/libQt5Widgets$(DEBUGFLAG).a \
                            	$(QTHOME)/lib/libQt5Gui$(DEBUGFLAG).a \
                            	$(QTHOME)/lib/libQt5Core$(DEBUGFLAG).a
                            
                            QMAKE         = $(QTHOME)/bin/qmake.exe
                            IDC           = idc
                            IDL           = midl
                            ZIP           = zip -r -9
                            DEF_FILE      = 
                            RES_FILE      = 
                            COPY          = copy /y
                            SED           = $(QMAKE) -install sed
                            COPY_FILE     = copy /y
                            COPY_DIR      = xcopy /s /q /y /i
                            DEL_FILE      = del
                            DEL_DIR       = rmdir
                            MOVE          = move
                            CHK_DIR_EXISTS= if not exist
                            MKDIR         = mkdir
                            INSTALL_FILE    = copy /y
                            INSTALL_PROGRAM = copy /y
                            INSTALL_DIR     = xcopy /s /q /y /i
                            QINSTALL        = $(QTHOME)/bin/qmake.exe -install qinstall
                            QINSTALL_PROGRAM = $(QTHOME)/bin/qmake.exe -install qinstall -exe
                            
                            ####### Output directory
                            
                            OBJECTS_DIR   = $(BUILDTYPE)
                            
                            ####### Files
                            
                            SOURCES       = window.cpp \
                            		main.cpp
                            
                            MOC_SOURCES   = $(BUILDTYPE)/moc_window.cpp
                            
                            OBJECTS       =	$(BUILDTYPE)/window.o \
                            		$(BUILDTYPE)/main.o
                            
                            MOC_OBJECTS   = $(BUILDTYPE)/moc_window.o
                            
                            QMAKE_TARGET  = lineedits
                            DESTDIR        = $(BUILDTYPE)/ #avoid trailing-slash linebreak
                            TARGET         = lineedits.exe
                            DESTDIR_TARGET = $(BUILDTYPE)/lineedits.exe
                            
                            DEPDIR := $(BUILDTYPE)\.d
                            DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Td
                            
                            POSTCOMPILE = move $(DEPDIR)\$*.Td $(DEPDIR)\$*.d
                            
                            $(BUILDTYPE)/%.o : %.cpp
                            $(BUILDTYPE)/%.o : %.cpp $(DEPDIR)/%.d $(BUILDTYPE)/moc_predefs.h
                            	$(CPP) -c $(DEPFLAGS) $(CPPFLAGS) -o $(BUILDTYPE)/$*.o $<
                            	$(POSTCOMPILE)
                            	$(QTHOME)/bin/moc.exe $(DEFINES) --include $(MOC_INCPATH) $*.hpp -o $(BUILDTYPE)/moc_$*.cpp
                            	$(CPP) -c $(CPPFLAGS) -o $(BUILDTYPE)/moc_$*.o $(BUILDTYPE)/moc_$*.cpp
                            
                            $(DEPDIR)/%.d: ;
                            .PRECIOUS: $(DEPDIR)/%.d
                            
                            
                            ####### Build rules
                            
                            
                            first: all
                            
                            all: $(DESTDIR_TARGET)
                            $(DESTDIR_TARGET):  $(OBJECTS) 
                            	$(LINKER) $(LFLAGS) -o $(DESTDIR_TARGET) $(OBJECTS) $(MOC_OBJECTS) $(SHAREDFLAG) $(LIBS)
                            
                            clean: compiler_clean 
                            	-$(DEL_FILE) $(BUILDTYPE)\*.o
                            	-$(DEL_FILE) $(BUILDTYPE)\$(TARGET)
                            
                            mocclean: compiler_moc_header_clean compiler_moc_source_clean
                            
                            mocables: compiler_moc_header_make_all compiler_moc_source_make_all
                            
                            check: first
                            
                            benchmark: first
                            
                            compiler_no_pch_compiler_make_all:
                            compiler_no_pch_compiler_clean:
                            compiler_rcc_make_all:
                            compiler_rcc_clean:
                            compiler_moc_predefs_make_all: $(BUILDTYPE)/moc_predefs.h
                            compiler_moc_predefs_clean:
                            	-$(DEL_FILE) $(BUILDTYPE)\moc_predefs.h
                            
                            $(BUILDTYPE)/moc_predefs.h: $(QTHOME)/mkspecs/features/data/dummy.cpp
                            	g++ -fno-keep-inline-dllexport -g -Wextra -Wall -W -dM -E -o $(BUILDTYPE)/moc_predefs.h $(QTHOME)/mkspecs/features/data/dummy.cpp
                            
                            compiler_moc_header_make_all: $(MOC_SOURCES)
                            
                            compiler_moc_header_clean:
                            	-$(DEL_FILE) $(BUILDTYPE)\moc_*.cpp
                            
                            compiler_moc_objc_header_make_all:
                            compiler_moc_objc_header_clean:
                            compiler_moc_source_make_all:
                            compiler_moc_source_clean:
                            compiler_uic_make_all:
                            compiler_uic_clean:
                            compiler_yacc_decl_make_all:
                            compiler_yacc_decl_clean:
                            compiler_yacc_impl_make_all:
                            compiler_yacc_impl_clean:
                            compiler_lex_make_all:
                            compiler_lex_clean:
                            compiler_clean: compiler_moc_predefs_clean compiler_moc_header_clean 
                            
                            ####### Compile
                            
                            $(BUILDTYPE)/main.o : main.cpp $(DEPDIR)/main.d
                            	$(CPP) -c -MT $(BUILDTYPE)/main.o -MMD -MP -MF $(DEPDIR)/main.Td $(CPPFLAGS) -o $(BUILDTYPE)/main.o main.cpp
                            	move $(DEPDIR)\main.Td $(DEPDIR)\main.d
                            
                            ####### Install
                            
                            include $(wildcard $(patsubst %,$(DEPDIR)/%.d,$(basename $(SOURCES))))
                            ***************************************************************************
                            
                            1. to make the apps, i use this .bat file
                            ****************************************************************************set GEORGE=%PATH%
                            PATH=%PATH%;c:/Qt-5.10.1/Tools/mingw530_32/bin/
                            
                            mingw32-make -f myMakefile BUILDTYPE=debug   all
                            mingw32-make -f myMakefile BUILDTYPE=release all
                            
                            set PATH=%GEORGE%
                            ****************************************************************************
                            
                            1. to run the built app, I use either
                            ****************************************************************************set GEORGE=%PATH%
                            PATH=%PATH%;c:/Qt-5.10.1/5.10.1/mingw53_32/bin
                            
                            debug\lineedits.exe
                            
                            set PATH=%GEORGE%
                            ****************************************************************************
                            or
                            ****************************************************************************set GEORGE=%PATH%
                            PATH=%PATH%;c:/Qt-5.10.1/5.10.1/mingw53_32/bin
                            
                            release\lineedits.exe
                            
                            set PATH=%GEORGE%
                            **********************************************************************
                            
                            1. the output from the build process is
                            **********************************************************************
                            C:\Users\Owner\Documents\Mike\src\Qt\lineedits>makeall
                            
                            C:\Users\Owner\Documents\Mike\src\Qt\lineedits>set GEORGE=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Users\Owner\Documents\Mike\python\MainInstallation\Scripts\;C:\Users\Owner\Documents\Mike\python\MainInstallation\;C:\Users\Owner\AppData\Local\Microsoft\WindowsApps;
                            
                            C:\Users\Owner\Documents\Mike\src\Qt\lineedits>PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Users\Owner\Documents\Mike\python\MainInstallation\Scripts\;C:\Users\Owner\Documents\Mike\python\MainInstallation\;C:\Users\Owner\AppData\Local\Microsoft\WindowsApps;;c:/Qt-5.10.1/Tools/mingw530_32/bin/
                            
                            C:\Users\Owner\Documents\Mike\src\Qt\lineedits>mingw32-make -f myMakefile BUILDTYPE=debug   all
                            g++ -fno-keep-inline-dllexport -g -Wextra -Wall -W -dM -E -o debug/moc_predefs.h c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/features/data/dummy.cpp
                            g++ -c -MT debug/window.o -MMD -MP -MF debug\.d/window.Td -fno-keep-inline-dllexport -g -O0 -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I. -I/Users/Owner/Documents/Mike/src/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Idebug -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++  -std=c++11 -o debug/window.o window.cpp
                            move debug\.d\window.Td debug\.d\window.d
                                    1 file(s) moved.
                            c:/Qt-5.10.1/5.10.1/mingw53_32/bin/moc.exe -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN --include debug/moc_predefs.h -Ic:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++ -I/Users/Owner/Documents/Mike/src/Qt/lineedits -I/Users/Owner/Documents/Mike/src/include -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include/c++ -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include/c++/i686-w64-mingw32 -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include/c++/backward -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include-fixed -Ic:/Qt-5.10.1/Tools/mingw530_32/i686-w64-mingw32/include window.hpp -o debug/moc_window.cpp
                            g++ -c -fno-keep-inline-dllexport -g -O0 -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I. -I/Users/Owner/Documents/Mike/src/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Idebug -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++  -std=c++11 -o debug/moc_window.o debug/moc_window.cpp
                            g++ -c -MT debug/main.o -MMD -MP -MF debug\.d/main.Td -fno-keep-inline-dllexport -g -O0 -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I. -I/Users/Owner/Documents/Mike/src/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Idebug -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++  -std=c++11 -o debug/main.o main.cpp
                            move debug\.d\main.Td debug\.d\main.d
                                    1 file(s) moved.
                            g++ -Wl,-subsystem,windows -mthreads -o debug/lineedits.exe debug/window.o debug/main.o debug/moc_window.o  -lglu32 -lopengl32 -lgdi32 -luser32 -lmingw32 c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libqtmaind.a -Lc:/Qt-5.10.1/5.10.1/mingw53_32/lib c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5PrintSupportd.a c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5Widgetsd.a c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5Guid.a c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5Cored.a
                            
                            C:\Users\Owner\Documents\Mike\src\Qt\lineedits>mingw32-make -f myMakefile BUILDTYPE=release all
                            g++ -fno-keep-inline-dllexport -g -Wextra -Wall -W -dM -E -o release/moc_predefs.h c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/features/data/dummy.cpp
                            g++ -c -MT release/window.o -MMD -MP -MF release\.d/window.Td -fno-keep-inline-dllexport  -O2 -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I. -I/Users/Owner/Documents/Mike/src/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Idebug -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++  -std=c++11 -o release/window.o window.cpp
                            move release\.d\window.Td release\.d\window.d
                                    1 file(s) moved.
                            c:/Qt-5.10.1/5.10.1/mingw53_32/bin/moc.exe -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN --include release/moc_predefs.h -Ic:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++ -I/Users/Owner/Documents/Mike/src/Qt/lineedits -I/Users/Owner/Documents/Mike/src/include -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -Ic:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include/c++ -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include/c++/i686-w64-mingw32 -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include/c++/backward -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include -Ic:/Qt-5.10.1/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/7.1.0/include-fixed -Ic:/Qt-5.10.1/Tools/mingw530_32/i686-w64-mingw32/include window.hpp -o release/moc_window.cpp
                            g++ -c -fno-keep-inline-dllexport  -O2 -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I. -I/Users/Owner/Documents/Mike/src/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Idebug -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++  -std=c++11 -o release/moc_window.o release/moc_window.cpp
                            g++ -c -MT release/main.o -MMD -MP -MF release\.d/main.Td -fno-keep-inline-dllexport  -O2 -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -D_UNICODE -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I. -I/Users/Owner/Documents/Mike/src/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtPrintSupport -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtWidgets -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtGui -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/include/QtCore -Idebug -isystem c:/Qt-5.10.1/5.10.1/mingw53_32/mkspecs/win32-g++  -std=c++11 -o release/main.o main.cpp
                            move release\.d\main.Td release\.d\main.d
                                    1 file(s) moved.
                            g++ -Wl,-subsystem,windows -mthreads -o release/lineedits.exe release/window.o release/main.o release/moc_window.o  -lglu32 -lopengl32 -lgdi32 -luser32 -lmingw32 c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libqtmain.a -Lc:/Qt-5.10.1/5.10.1/mingw53_32/lib c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5PrintSupport.a c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5Widgets.a c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5Gui.a c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5Core.a
                            
                            C:\Users\Owner\Documents\Mike\src\Qt\lineedits>set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Users\Owner\Documents\Mike\python\MainInstallation\Scripts\;C:\Users\Owner\Documents\Mike\python\MainInstallation\;C:\Users\Owner\AppData\Local\Microsoft\WindowsApps;
                            
                            C:\Users\Owner\Documents\Mike\src\Qt\lineedits>
                            **********************************************************************
                            

                            [~ambershark]: added code tags to make it easier to read.

                            A Offline
                            A Offline
                            ambershark
                            wrote on last edited by ambershark
                            #23

                            @drmhkelley So the weird thing is it looks (based on your build log) that you are building statically. So there shouldn't even be any dll loading or entry point issues. That makes it even more suspicious.

                            Can you try this:

                            1. Put your application in it's own standalone dir, just the lineedits.exe
                            2. in a cmd, set PATH="" then lineedits.exe

                            What does it show on the screen then?

                            My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

                            1 Reply Last reply
                            1
                            • D drmhkelley

                              @JKSH
                              I installed Qt 5.10.1 using the Qt on-line installer qt-unified-windows-x86-3.0.2-online.exe

                              I don't know how where to find the MD5 checksums, but here is some info about Qt5Core and Qt5Widgets, both of which are relevant.

                              -rw-rw-rw- 1 Owner None 121510926 03-10 10:20 Qt5Cored.dll
                              -rw-rw-rw- 1 Owner None 6180864 03-10 10:19 Qt5Core.dll
                              -rw-rw-rw- 1 Owner None 167921455 02-09 04:36 Qt5Widgetsd.dll
                              -rw-rw-rw- 1 Owner None 6232576 02-09 04:36 Qt5Widgets.dll

                              Sorry, I don't understand your request about "process explorer", but hopefully the info I provided in my prior post has equivalent information.

                              Also, your info about OneDrive is interesting, but I'm not sure it is relevant to my situation.

                              However, I think I tested the essence of you suggesting by modifying the .bat files I submitted earlier. Instead of appending the relevant mingw or Qt folders to my PATH, I simply set PATH to just those locations.

                              Behavior was the same.

                              If this isn't clear, I will be happy to make it more explicit.

                              A Offline
                              A Offline
                              ambershark
                              wrote on last edited by
                              #24

                              @drmhkelley Oh and here is a link to the listdlls tool that @jksh mentioned. Which should help show what dlls are loaded when your debug build is running and when your release build is running. This will help us figure out what is going on.

                              https://docs.microsoft.com/en-us/sysinternals/downloads/listdlls

                              My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

                              1 Reply Last reply
                              1
                              • D drmhkelley

                                @JKSH
                                I installed Qt 5.10.1 using the Qt on-line installer qt-unified-windows-x86-3.0.2-online.exe

                                I don't know how where to find the MD5 checksums, but here is some info about Qt5Core and Qt5Widgets, both of which are relevant.

                                -rw-rw-rw- 1 Owner None 121510926 03-10 10:20 Qt5Cored.dll
                                -rw-rw-rw- 1 Owner None 6180864 03-10 10:19 Qt5Core.dll
                                -rw-rw-rw- 1 Owner None 167921455 02-09 04:36 Qt5Widgetsd.dll
                                -rw-rw-rw- 1 Owner None 6232576 02-09 04:36 Qt5Widgets.dll

                                Sorry, I don't understand your request about "process explorer", but hopefully the info I provided in my prior post has equivalent information.

                                Also, your info about OneDrive is interesting, but I'm not sure it is relevant to my situation.

                                However, I think I tested the essence of you suggesting by modifying the .bat files I submitted earlier. Instead of appending the relevant mingw or Qt folders to my PATH, I simply set PATH to just those locations.

                                Behavior was the same.

                                If this isn't clear, I will be happy to make it more explicit.

                                JKSHJ Offline
                                JKSHJ Offline
                                JKSH
                                Moderators
                                wrote on last edited by
                                #25

                                @drmhkelley said in "procedure entry point could not be located ...":

                                @JKSH
                                I installed Qt 5.10.1 using the Qt on-line installer qt-unified-windows-x86-3.0.2-online.exe

                                I don't know how where to find the MD5 checksums, but here is some info about Qt5Core and Qt5Widgets, both of which are relevant.

                                -rw-rw-rw- 1 Owner None 121510926 03-10 10:20 Qt5Cored.dll
                                -rw-rw-rw- 1 Owner None 6180864 03-10 10:19 Qt5Core.dll
                                -rw-rw-rw- 1 Owner None 167921455 02-09 04:36 Qt5Widgetsd.dll
                                -rw-rw-rw- 1 Owner None 6232576 02-09 04:36 Qt5Widgets.dll

                                I can confirm that my DLLs for the MinGW build of Qt 5.10.1 are exactly those sizes too. Your installation looks sound.

                                Sorry, I don't understand your request about "process explorer"

                                Process Explorer and ListDLLs are two tools by SysInternals that are very helpful with investigating DLL linkage issues:

                                • https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
                                • https://docs.microsoft.com/en-us/sysinternals/downloads/listdlls

                                Process Explorer has a decent GUI; it's easier for a newcomer to discover its functionality.

                                ListDLLs is a console application and prints to stdout, which makes it easier to collect data to post on a forum.

                                but hopefully the info I provided in my prior post has equivalent information.

                                What you have provided previously is not quite equivalent. They show your intentions and instructions for your system, but they don't show what your system actually does.

                                Do try Process Explorer or ListDLLs. Even if all of our attempts so far have missed the mark, you might spot a vital clue by looking through their outputs. In particular, see if these tools show any difference between your Debug build and your Release build (aside from the fact that the Debug DLLs have a -d suffix).

                                Also, your info about OneDrive is interesting, but I'm not sure it is relevant to my situation.

                                If there is something in your system that's "injecting" the wrong DLL into your application Process Explorer or ListDLLs will reveal the culprit.

                                P.S. Credit where credit is due: @hskoglund is the one who highlighted this possibility.

                                However, I think I tested the essence of you suggesting by modifying the .bat files I submitted earlier. Instead of appending the relevant mingw or Qt folders to my PATH, I simply set PATH to just those locations.

                                My initial feeling is that setting the PATH to just those locations should have done the trick... yet somehow your issue remains.

                                I'm still convinced that you somehow have a DLL linkage issue. Process Explorer or ListDLLs will prove conclusively if I'm right or wrong.

                                @drmhkelley said in "procedure entry point could not be located ...":

                                ifeq ($(BUILDTYPE),standalone)
                                ...
                                LIBTYPE = lib
                                QTTYPE = Static
                                else
                                ...
                                LIBTYPE = dll
                                QTTYPE = 
                                endif
                                

                                I'm not familiar with these options. What do they do? Which set do you use?

                                Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                                D 2 Replies Last reply
                                2
                                • JKSHJ JKSH

                                  @drmhkelley said in "procedure entry point could not be located ...":

                                  @JKSH
                                  I installed Qt 5.10.1 using the Qt on-line installer qt-unified-windows-x86-3.0.2-online.exe

                                  I don't know how where to find the MD5 checksums, but here is some info about Qt5Core and Qt5Widgets, both of which are relevant.

                                  -rw-rw-rw- 1 Owner None 121510926 03-10 10:20 Qt5Cored.dll
                                  -rw-rw-rw- 1 Owner None 6180864 03-10 10:19 Qt5Core.dll
                                  -rw-rw-rw- 1 Owner None 167921455 02-09 04:36 Qt5Widgetsd.dll
                                  -rw-rw-rw- 1 Owner None 6232576 02-09 04:36 Qt5Widgets.dll

                                  I can confirm that my DLLs for the MinGW build of Qt 5.10.1 are exactly those sizes too. Your installation looks sound.

                                  Sorry, I don't understand your request about "process explorer"

                                  Process Explorer and ListDLLs are two tools by SysInternals that are very helpful with investigating DLL linkage issues:

                                  • https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
                                  • https://docs.microsoft.com/en-us/sysinternals/downloads/listdlls

                                  Process Explorer has a decent GUI; it's easier for a newcomer to discover its functionality.

                                  ListDLLs is a console application and prints to stdout, which makes it easier to collect data to post on a forum.

                                  but hopefully the info I provided in my prior post has equivalent information.

                                  What you have provided previously is not quite equivalent. They show your intentions and instructions for your system, but they don't show what your system actually does.

                                  Do try Process Explorer or ListDLLs. Even if all of our attempts so far have missed the mark, you might spot a vital clue by looking through their outputs. In particular, see if these tools show any difference between your Debug build and your Release build (aside from the fact that the Debug DLLs have a -d suffix).

                                  Also, your info about OneDrive is interesting, but I'm not sure it is relevant to my situation.

                                  If there is something in your system that's "injecting" the wrong DLL into your application Process Explorer or ListDLLs will reveal the culprit.

                                  P.S. Credit where credit is due: @hskoglund is the one who highlighted this possibility.

                                  However, I think I tested the essence of you suggesting by modifying the .bat files I submitted earlier. Instead of appending the relevant mingw or Qt folders to my PATH, I simply set PATH to just those locations.

                                  My initial feeling is that setting the PATH to just those locations should have done the trick... yet somehow your issue remains.

                                  I'm still convinced that you somehow have a DLL linkage issue. Process Explorer or ListDLLs will prove conclusively if I'm right or wrong.

                                  @drmhkelley said in "procedure entry point could not be located ...":

                                  ifeq ($(BUILDTYPE),standalone)
                                  ...
                                  LIBTYPE = lib
                                  QTTYPE = Static
                                  else
                                  ...
                                  LIBTYPE = dll
                                  QTTYPE = 
                                  endif
                                  

                                  I'm not familiar with these options. What do they do? Which set do you use?

                                  D Offline
                                  D Offline
                                  drmhkelley
                                  wrote on last edited by
                                  #26

                                  @ambershark, @JKSH
                                  For some reason, this site will only let me post once every 5 minutes, so I'm bundling this response to both of your comments.

                                  1. ambershark, what in the log indicates a static build? I have done that in the past and intend to do it in the future, but I don't at present have a static build Qt. Last time I had that was for Qt 4.x. So if my basic build process has gone awry, I want to fix that anyway.

                                  2. running the executable with a null path was a good idea and may provide insight, but I don't yet know what to make of it. For the debug version, I get errors that Qt5Cored.dll, Qt5Widgetsd.dll, Qt5Guid.dll, and libgcc_s_dw2_1.dll are missing. The release version is different, missing libgcc_s_dw2-1.dll and libstdc++-6.dll, but no reference (?yet?) to the Qt5 libs.

                                  3. Both, thanks for the links to process-explorer and listdlls - I'm not familiar with these tools but it sounds like I could be putting them to good use. I may or may have time today to use them but will do so and report back.

                                  4. jksh, your comment about the OneDrive example hits what has become a major concern for me. Whatever problem I'm bumping into really seems to be independent of Qt. The two tools you've suggested should help ferret that out.

                                  5. The snippet from the Makefile is a holdover from a prior attempt to build statically-linked apps. I never quite got that working reliably (some apps worked, some didn't, never quite figured out the differences and gave up on it for now). The LIBTYPE and QTYPE variables would be used to assemble the correct path name for the relevant libraries, completely analogous to how DEBUGFLAG and other variables are used. Presently, I'm only building a debug and a release package - standalone would by my statically-linked version of release. It is the second set is presently used, LIBTYPE=dll and QTYPE="".

                                  1 Reply Last reply
                                  0
                                  • JKSHJ JKSH

                                    @drmhkelley said in "procedure entry point could not be located ...":

                                    @JKSH
                                    I installed Qt 5.10.1 using the Qt on-line installer qt-unified-windows-x86-3.0.2-online.exe

                                    I don't know how where to find the MD5 checksums, but here is some info about Qt5Core and Qt5Widgets, both of which are relevant.

                                    -rw-rw-rw- 1 Owner None 121510926 03-10 10:20 Qt5Cored.dll
                                    -rw-rw-rw- 1 Owner None 6180864 03-10 10:19 Qt5Core.dll
                                    -rw-rw-rw- 1 Owner None 167921455 02-09 04:36 Qt5Widgetsd.dll
                                    -rw-rw-rw- 1 Owner None 6232576 02-09 04:36 Qt5Widgets.dll

                                    I can confirm that my DLLs for the MinGW build of Qt 5.10.1 are exactly those sizes too. Your installation looks sound.

                                    Sorry, I don't understand your request about "process explorer"

                                    Process Explorer and ListDLLs are two tools by SysInternals that are very helpful with investigating DLL linkage issues:

                                    • https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
                                    • https://docs.microsoft.com/en-us/sysinternals/downloads/listdlls

                                    Process Explorer has a decent GUI; it's easier for a newcomer to discover its functionality.

                                    ListDLLs is a console application and prints to stdout, which makes it easier to collect data to post on a forum.

                                    but hopefully the info I provided in my prior post has equivalent information.

                                    What you have provided previously is not quite equivalent. They show your intentions and instructions for your system, but they don't show what your system actually does.

                                    Do try Process Explorer or ListDLLs. Even if all of our attempts so far have missed the mark, you might spot a vital clue by looking through their outputs. In particular, see if these tools show any difference between your Debug build and your Release build (aside from the fact that the Debug DLLs have a -d suffix).

                                    Also, your info about OneDrive is interesting, but I'm not sure it is relevant to my situation.

                                    If there is something in your system that's "injecting" the wrong DLL into your application Process Explorer or ListDLLs will reveal the culprit.

                                    P.S. Credit where credit is due: @hskoglund is the one who highlighted this possibility.

                                    However, I think I tested the essence of you suggesting by modifying the .bat files I submitted earlier. Instead of appending the relevant mingw or Qt folders to my PATH, I simply set PATH to just those locations.

                                    My initial feeling is that setting the PATH to just those locations should have done the trick... yet somehow your issue remains.

                                    I'm still convinced that you somehow have a DLL linkage issue. Process Explorer or ListDLLs will prove conclusively if I'm right or wrong.

                                    @drmhkelley said in "procedure entry point could not be located ...":

                                    ifeq ($(BUILDTYPE),standalone)
                                    ...
                                    LIBTYPE = lib
                                    QTTYPE = Static
                                    else
                                    ...
                                    LIBTYPE = dll
                                    QTTYPE = 
                                    endif
                                    

                                    I'm not familiar with these options. What do they do? Which set do you use?

                                    D Offline
                                    D Offline
                                    drmhkelley
                                    wrote on last edited by
                                    #27

                                    @JKSH
                                    Well, ProcessExplorer seems to have provided an important clue - thanks a bazillion for the pointer.

                                    Seems that the debug version finds the Qt5 libs in their expected location: c:/Qt-5.10.1/Tools/mingw530_32\bin. Unfortunately, the release version does not. The appear to have been found in: C:\Users\Owner\AppData\Local\Microsoft\OneDrive\18.025.0204.0009

                                    Without this new tool, I would likely never have found that clue.

                                    Couple of obvious followup questions.

                                    1. Can I safely just delete those files from AppData?
                                    2. Any clue how they might have gotten there - if they got there once they'll probably show up again.

                                    This may also answer my question to ambershark about a static build. My makefile (and this part I copied from the compile log in Qt Creator) explicitly links libQt5Core.a, etc. I had searched for all instances of those libraries, but not for Qt5Core.dll, etc. So I never saw found these files. I've never really understood the relationship between the libxxxx.a and xxxx.dll libraries, but clearly need to understand that a bit more.

                                    D A 3 Replies Last reply
                                    1
                                    • D drmhkelley

                                      @JKSH
                                      Well, ProcessExplorer seems to have provided an important clue - thanks a bazillion for the pointer.

                                      Seems that the debug version finds the Qt5 libs in their expected location: c:/Qt-5.10.1/Tools/mingw530_32\bin. Unfortunately, the release version does not. The appear to have been found in: C:\Users\Owner\AppData\Local\Microsoft\OneDrive\18.025.0204.0009

                                      Without this new tool, I would likely never have found that clue.

                                      Couple of obvious followup questions.

                                      1. Can I safely just delete those files from AppData?
                                      2. Any clue how they might have gotten there - if they got there once they'll probably show up again.

                                      This may also answer my question to ambershark about a static build. My makefile (and this part I copied from the compile log in Qt Creator) explicitly links libQt5Core.a, etc. I had searched for all instances of those libraries, but not for Qt5Core.dll, etc. So I never saw found these files. I've never really understood the relationship between the libxxxx.a and xxxx.dll libraries, but clearly need to understand that a bit more.

                                      D Offline
                                      D Offline
                                      drmhkelley
                                      wrote on last edited by
                                      #28

                                      @ambershark, @JKSH

                                      FYI, I temporarily (probably permanently) moved the bogus .dlls out of the AppData folder. That seems to have resolved the failure of the release version of my apps.

                                      I will consider this issue resolved, but would appreciate any follow-on comments you might have on how they got there and any obvious confusions I have displayed about the .a vs .dll libraries.

                                      1 Reply Last reply
                                      1
                                      • D drmhkelley

                                        @JKSH
                                        Well, ProcessExplorer seems to have provided an important clue - thanks a bazillion for the pointer.

                                        Seems that the debug version finds the Qt5 libs in their expected location: c:/Qt-5.10.1/Tools/mingw530_32\bin. Unfortunately, the release version does not. The appear to have been found in: C:\Users\Owner\AppData\Local\Microsoft\OneDrive\18.025.0204.0009

                                        Without this new tool, I would likely never have found that clue.

                                        Couple of obvious followup questions.

                                        1. Can I safely just delete those files from AppData?
                                        2. Any clue how they might have gotten there - if they got there once they'll probably show up again.

                                        This may also answer my question to ambershark about a static build. My makefile (and this part I copied from the compile log in Qt Creator) explicitly links libQt5Core.a, etc. I had searched for all instances of those libraries, but not for Qt5Core.dll, etc. So I never saw found these files. I've never really understood the relationship between the libxxxx.a and xxxx.dll libraries, but clearly need to understand that a bit more.

                                        A Offline
                                        A Offline
                                        ambershark
                                        wrote on last edited by
                                        #29

                                        @drmhkelley Lol @hskoglund said:

                                        I've encountered the same problem (the release version tanks but not the debug) due to OneDrive from Microsoft also having copy of the Qt libraries

                                        He totally called it.

                                        Anyway, as we all said it was most definitely an issue of mixed Qt dlls. We've all seen it a bunch with similar errors. We just needed to find out where you were getting the bad dlls from. That is why I suggested clearing your PATH to test.

                                        ambershark, what in the log indicates a static build? I have done that in the past and intend to do it in the future, but I don't at present have a static build Qt. Last time I had that was for Qt 4.x. So if my basic build process has gone awry, I want to fix that anyway.

                                        So all of your linking lines have .a at the end. Those are static libs. Here's an example from your build log.

                                        g++ -Wl,-subsystem,windows -mthreads -o release/lineedits.exe release/window.o release/main.o release/moc_window.o  -lglu32 -lopengl32 -lgdi32 -luser32 -lmingw32 c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libqtmain.a -Lc:/Qt-5.10.1/5.10.1/mingw53_32/lib c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5PrintSupport.a c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5Widgets.a c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5Gui.a c:/Qt-5.10.1/5.10.1/mingw53_32/lib/libQt5Core.a
                                        

                                        All of your Qt is linked to static i.e. libQt5Core.a as opposed to libQt5Core.so or libQt5Core.dll.

                                        running the executable with a null path was a good idea and may provide insight, but I don't yet know what to make of it. For the debug version, I get errors that Qt5Cored.dll, Qt5Widgetsd.dll, Qt5Guid.dll, and libgcc_s_dw2_1.dll are missing. The release version is different, missing libgcc_s_dw2-1.dll and libstdc++-6.dll, but no reference (?yet?) to the Qt5 libs.

                                        This is because without a PATH it can't find your dlls. This would be equivalent to installing it on a customer/user machine. You need to provide all the supporting files for it to work. I detailed that process in my post above.

                                        Both, thanks for the links to process-explorer and listdlls - I'm not familiar with these tools but it sounds like I could be putting them to good use. I may or may have time today to use them but will do so and report back.

                                        They are AWESOME tools! Now that you know about sysinternals you will be able to find a lot of weird stuff with your system and programs in the future. They help a ton in diagnosing things.

                                        The snippet from the Makefile is a holdover from a prior attempt to build statically-linked apps. I never quite got that working reliably (some apps worked, some didn't, never quite figured out the differences and gave up on it for now). The LIBTYPE and QTYPE variables would be used to assemble the correct path name for the relevant libraries, completely analogous to how DEBUGFLAG and other variables are used. Presently, I'm only building a debug and a release package - standalone would by my statically-linked version of release. It is the second set is presently used, LIBTYPE=dll and QTYPE="".

                                        It seems to be "working" now since it looks like your build output as covered above is all static linking to Qt.

                                        Honestly I would recommend using cmake or qmake instead of makefiles. Makefiles are really rough. I've used them for many many years but once I got into Qt and qmake I haven't touched them since. I'm now a cmake user and love it. qmake or cmake will make your build process much easier and much easier to maintain and understand. Cmake is the more powerful and flexible of the 2 and isn't locked into just Qt like qmake is. However it is the way more complicated of the 2. Qmake is nice and easy and will make your makefiles for you.

                                        Anyway, glad you finally got it fixed! :D

                                        My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

                                        1 Reply Last reply
                                        1
                                        • D drmhkelley

                                          @JKSH
                                          Well, ProcessExplorer seems to have provided an important clue - thanks a bazillion for the pointer.

                                          Seems that the debug version finds the Qt5 libs in their expected location: c:/Qt-5.10.1/Tools/mingw530_32\bin. Unfortunately, the release version does not. The appear to have been found in: C:\Users\Owner\AppData\Local\Microsoft\OneDrive\18.025.0204.0009

                                          Without this new tool, I would likely never have found that clue.

                                          Couple of obvious followup questions.

                                          1. Can I safely just delete those files from AppData?
                                          2. Any clue how they might have gotten there - if they got there once they'll probably show up again.

                                          This may also answer my question to ambershark about a static build. My makefile (and this part I copied from the compile log in Qt Creator) explicitly links libQt5Core.a, etc. I had searched for all instances of those libraries, but not for Qt5Core.dll, etc. So I never saw found these files. I've never really understood the relationship between the libxxxx.a and xxxx.dll libraries, but clearly need to understand that a bit more.

                                          A Offline
                                          A Offline
                                          ambershark
                                          wrote on last edited by ambershark
                                          #30

                                          @drmhkelley said in "procedure entry point could not be located ...":

                                          Couple of obvious followup questions.

                                          Can I safely just delete those files from AppData?
                                          Any clue how they might have gotten there - if they got there once they'll probably show up again.

                                          This may also answer my question to ambershark about a static build. My makefile (and this part I copied from the compile log in Qt Creator) explicitly links libQt5Core.a, etc. I had searched for all instances of those libraries, but not for Qt5Core.dll, etc. So I never saw found these files. I've never really understood the relationship between the libxxxx.a and xxxx.dll libraries, but clearly need to understand that a bit more.

                                          Sorry didn't address these in my last post ...

                                          1. You should not delete Qt from AppData. That is required for OneDrive usage. You could remove that from your PATH though. Or you could uninstall OneDrive. If you deleted Qt's dlls from there though it would no longer work. So you have to determine whether or not you need OneDrive before you do that.

                                          2. They got there because OneDrive was developed with Qt and those are the distributed supporting dlls. They however don't match the version you were trying to use. :) (Assumptions here I'm not 100% sure on what was used by MS to write OneDrive).

                                          Finally, so .a files are "archives" which are groups of object files (.o). This is a linux/osx thing mostly, but because mingw uses that same linuxy technology they use it too. It is basically a static library (archive). A .so (shared object) or .dll (dynamic link library) are the dynamic (non-static) libs.

                                          From the looks of it, if you can't actually find things like libQt5Core.dll or libQt5Core.so in your Qt install, then you probably have a static only install of Qt. Just guessing here though. Usually you have to explicitly build Qt for static like that because using it statically is not covered under the LGPL licenses. You have to have a commercial license to link statically.

                                          Oh and I upvoted some of your posts, which should let you post more than once every 5 min. :)

                                          My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

                                          D 2 Replies Last reply
                                          1

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved