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. Linker error
Forum Update on Monday, May 27th 2025

Linker error

Scheduled Pinned Locked Moved Unsolved General and Desktop
qt5linker errorsunresolved exte
6 Posts 3 Posters 2.4k Views
  • 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.
  • ? Offline
    ? Offline
    A Former User
    wrote on 22 Oct 2018, 18:21 last edited by A Former User
    #1

    Hey, I seem to get this linker error whenever i try to use anything from qt5, including it goes fine, but as soon as i call anything it bugs.

    I am using qt5 inside of a dll to handle http requests but it even happens when i just construct a QApplication. Someone mentioned it could be because I didn't link qt5 and visual studio, but i have no clue on how to solve this.
    error:

    1>dllmain.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall QApplication::QApplication(int &,char * *,int)" (__imp_??0QApplication@@QAE@AAHPAPADH@Z)
    1>dllmain.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QApplication::~QApplication(void)" (__imp_??1QApplication@@UAE@XZ)
    1>dllmain.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static int __cdecl QApplication::exec(void)" (__imp_?exec@QApplication@@SAHXZ)
    

    code:

    int myLibraryExec() {
    	char* appName = (char*)"Project";
    	int argc = 1;
    	QApplication app(argc, &appName);
    	return app.exec();
    }
    
    int main() {
    	auto app = myLibraryExec();
    	std::cout << app << std::endl;
    	return 0;
    }
    

    Thanks in advance for the help!

    K 1 Reply Last reply 22 Oct 2018, 18:30
    0
    • ? A Former User
      22 Oct 2018, 18:21

      Hey, I seem to get this linker error whenever i try to use anything from qt5, including it goes fine, but as soon as i call anything it bugs.

      I am using qt5 inside of a dll to handle http requests but it even happens when i just construct a QApplication. Someone mentioned it could be because I didn't link qt5 and visual studio, but i have no clue on how to solve this.
      error:

      1>dllmain.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall QApplication::QApplication(int &,char * *,int)" (__imp_??0QApplication@@QAE@AAHPAPADH@Z)
      1>dllmain.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QApplication::~QApplication(void)" (__imp_??1QApplication@@UAE@XZ)
      1>dllmain.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static int __cdecl QApplication::exec(void)" (__imp_?exec@QApplication@@SAHXZ)
      

      code:

      int myLibraryExec() {
      	char* appName = (char*)"Project";
      	int argc = 1;
      	QApplication app(argc, &appName);
      	return app.exec();
      }
      
      int main() {
      	auto app = myLibraryExec();
      	std::cout << app << std::endl;
      	return 0;
      }
      

      Thanks in advance for the help!

      K Offline
      K Offline
      koahnig
      wrote on 22 Oct 2018, 18:30 last edited by
      #2

      @Mehodin

      Try this here:

      int myLibraryExec(int argc, char *argv[]) {
      	char* appName = (char*)"Project";
      	int argc = 1;
      	QApplication app(argc, argv);
      	return app.exec();
      }
      
      int main(int argc, char *argv[]) {
      	auto app = myLibraryExec( argc, argv );
      	std::cout << app << std::endl;
      	return 0;
      }
      

      You seem to confuse QApplication. The parameter list of main is really old back from C, which keeps a couple of surprizes.

      Check it out. Just typed brain to keyboard. Not tested and not compiled.

      Vote the answer(s) that helped you to solve your issue(s)

      1 Reply Last reply
      1
      • ? Offline
        ? Offline
        A Former User
        wrote on 22 Oct 2018, 18:32 last edited by
        #3

        @koahnig

        gives me error saying
        1>c:\users\mehodin\documents\github\project\dllmain.cpp(26): error C2082: redefinition of formal parameter 'argc'

        and if i completely remove

        	char* appName = (char*)"Project";
        	int argc = 1;
        

        it gives same error as original post

        K 1 Reply Last reply 22 Oct 2018, 18:39
        0
        • ? A Former User
          22 Oct 2018, 18:32

          @koahnig

          gives me error saying
          1>c:\users\mehodin\documents\github\project\dllmain.cpp(26): error C2082: redefinition of formal parameter 'argc'

          and if i completely remove

          	char* appName = (char*)"Project";
          	int argc = 1;
          

          it gives same error as original post

          K Offline
          K Offline
          koahnig
          wrote on 22 Oct 2018, 18:39 last edited by
          #4

          @Mehodin

          Sorry, my fault, try this:

          int myLibraryExec(int argc, char *argv[]) {
          	QApplication app(argc, argv);
          	return app.exec();
          }
          
          int main(int argc, char *argv[]) {
          	auto app = myLibraryExec( argc, argv );
          	std::cout << app << std::endl;
          	return 0;
          }
          

          Vote the answer(s) that helped you to solve your issue(s)

          1 Reply Last reply
          1
          • ? Offline
            ? Offline
            A Former User
            wrote on 22 Oct 2018, 18:42 last edited by
            #5

            @koahnig

            1>dllmain.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall QApplication::QApplication(int &,char * *,int)" (__imp_??0QApplication@@QAE@AAHPAPADH@Z)
            1>dllmain.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QApplication::~QApplication(void)" (__imp_??1QApplication@@UAE@XZ)
            1>dllmain.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static int __cdecl QApplication::exec(void)" (__imp_?exec@QApplication@@SAHXZ)
            

            sadly didn't solve it. Since it's a dll, will it even pass argc and argv?

            int myLibraryExec(int argc, char *argv[]) {
            	QApplication app(argc, argv);
            	return app.exec();
            }
            
            int main(int argc, char *argv[]) {
            	auto app = myLibraryExec(argc, argv);
            	std::cout << app << std::endl;
            	return 0;
            }
            
            BOOL APIENTRY DllMain(HMODULE hModule,
            	DWORD  ul_reason_for_call,
            	LPVOID lpReserved
            )
            {
            	if (ul_reason_for_call == DLL_PROCESS_ATTACH) {
            		hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)main, (LPVOID)hModule, 0, NULL);
            		if (hThread == NULL) {
            			return 0;
            		}
            	}
            	else if (ul_reason_for_call == DLL_PROCESS_ATTACH) {
            	}
            	else if (ul_reason_for_call == DLL_PROCESS_DETACH) {
            	}
            	else if (ul_reason_for_call == DLL_THREAD_DETACH) {
            	}
            	return TRUE;
            }
            
            
            1 Reply Last reply
            0
            • S Offline
              S Offline
              SGaist
              Lifetime Qt Champion
              wrote on 22 Oct 2018, 19:14 last edited by
              #6

              Hi,

              Might be a silly question but are you linking your .dll against Qt's widgets module ?

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              2

              2/6

              22 Oct 2018, 18:30

              topic:navigator.unread, 4
              • Login

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