non si sta facendo nulla non corretta, Mingw-costruisce opere che modo si.
Recentemente ho inciampato su questo, ma per un altro motivo:
Mingw-Costruisce automaticamente i collegamenti eseguibili a GCC librerie dinamiche (libwinpthread-1.dll, libstdC++ - 6.dll, libgcc_s_dw2-1.dll) per salva la dimensione dell'eseguibile (problema: quando rilasci gli eseguibili devi ricordare di aggiungere anche le DLL mancanti insieme al tuo binario perché non c'è alcuna garanzia che gli utenti abbiano quelle DLL nei loro sistemi)
Nel mio caso il problema era che avevo più GCC pakcages sullo stesso sistema e quindi non li ho aggiunti a PATH per evitare conflitti di nome.
La parte divertente è che CMAKE prima di configurare il progetto genera un C-SourceFile che viene compilato e utilizzato per ottenere informazioni sul tuo compilatore, dal momento che le DLL non erano in PATH, che piccolo eseguibile generato da CMake stava crollando a causa di DLL mancanti e questo ha fermato l'intero processo di costruzione.
La soluzione da risolvere che aggiunge il percorso del compilatore a PERCORSO TEMPORANEAMENTE (o meglio eseguire CMake in un altro ambiente).
Aggiunta di DLL manualmente nella directory temporanea cmake non funziona perché cmake pulitura quella directory ad ogni configurazione ..
Se si utilizza mingwbuilds si deve collegare a pthreadBLAH.dll alcuna soluzione
Non so il motivo per cui l'opzione '-Bstatic' non sembra funzionare, ma probabilmente si può ottenere ciò che si desidera specificando il file di libreria specifica invece di lasciare che' di ricerca ld' per esso: http : //stackoverflow.com/a/14494371/12711 –
Nella mia distribuzione MinGW l'archivio statico si chiama 'libpthread.a' (sì, quello dinamico è' libwinpthread-1.dll'), quindi preferirei usare '-lpthread'.Probabilmente lo stesso è valido per il tuo. –
Possibile duplicato di [come fare il collegamento statico di libwinpthread-1.dll in mingw?] (Https://stackoverflow.com/questions/13768515/how-to-do-static-linking-of-libwinpthread-1-dll -in-mingw) –