Чтобы ответить на конкретный вопрос, как конвертировать несколько исходных файлов в один архивный файл для статической компоновки; это двухэтапная операция. Сначала вы должны скомпилировать исходные файлы в объектные файлы, а затем превратить объектные файлы в архив.
Если у вас есть MSYS с вашей установкой MinGW, я рекомендую использовать это. Если нет, вы все равно можете использовать командную строку Windows cmd.exe.
Убедитесь, что каталог MinGW / bin является частью переменной среды PATH, чтобы вы могли вызывать компилятор из любого места.
Из командной строки перейдите в каталог, содержащий исходный код. Оттуда введите команду
mingw32-gcc -O2 -c [files] -I[header directory]
Вы должны либо назвать [files]
конкретно, -c a.cpp b.cpp c.cpp
, либо вы можете отождествить их всех с *.cpp
. [header directory]
- это место, где находятся файлы .h источника относительно вас. Как правило, исходные файлы находятся в каталоге, который называется / src, а файлы заголовков - в дочернем каталоге, который называется / include. Вы бы назвали этот каталог -I../include
. Если заголовочные файлы находятся в каталоге / include в каталоге / src, это будет -Iinclude
.
После того как вы сгенерировали файлы .o, вы набираете команду
ar rcs lib[something].a [files]
Заменить [something]
на имя библиотеки. Это имя, которое будет отображаться в диалоге Link Libraries в Code :: Blocks. Файлы - это либо имя объектных файлов, которые вы создали ранее (a.o, b.o, c.o), либо, если в каталоге нет несвязанных объектных файлов, вы можете поместить в *.o
.
Это должно привести к созданию архивного файла в каталоге. Теперь вы можете поместить его в соответствующий каталог (возможно, в дочерний каталог / include с именем / lib) и добавить этот каталог в конфигурацию Code :: Blocks в разделе Каталоги поиска компоновщика. Затем вы должны не забыть фактически добавить библиотеку для вашего проекта.