Если проблема заключается в дополнительном времени компиляции и раздувании бинарного размера, полученном путем компиляции .h как части всех используемых им .cpp-модулей, во многих случаях то, что вы можете сделать, - это сделать класс шаблона опустившимся из не-шаблонного базовый класс для не зависящих от типа частей интерфейса, и что базовый класс может иметь свою реализацию в файле .cpp.
Опции gcc
для сборки для MinGW64
больше не поддерживаются обычным компилятором cygqin gcc
, он же x86_64-pc-cygwin-gcc
. Вместо этого вам также следует установить пакет mingw64-x86_64-gcc-core
, который предоставляет GCC for Win64 toolchain (C, OpenMP)
. Это также установит другие пакеты (через зависимости), которые предоставляют совместимые binutils
, headers
, libraries
и runtime
.
В командной строке вашего Makefile или компилятора замените gcc
на x86_64-w64-mingw32-gcc
. Это позволит вам компилировать и связывать исполняемые файлы, которые не зависят от cygwin1.dll
.