Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/47: Рейтинг темы: голосов - 47, средняя оценка - 5.00
49 / 23 / 3
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5

Создание статической библиотеки в MinGw(code::blocks)

10.07.2013, 01:00. Показов 10280. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопросы:
1. почему создаётся main.с , а не .cpp. Хочется писать на с++
2. почему нет никаких .h файлов.как мне потом написать #include "my_static_lib.h"
ну и пока эти вопросы (начальные ) не решены, мне не помогли та туча мануалов, что есть в сети
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.07.2013, 01:00
Ответы с готовыми решениями:

Где скачать code blocks с x64-м mingw?
Где скачать code blocks с x64-м mingw? Установить его отдельно и подцепить не получается.

Как добиться возможности компилить с поддержкой нового стандарта в Code Blocks (MinGW)?
Народ как добиться возможности компилить с поддержкой нового стандарта ?

Подключение библиотеки winpcap в Code Blocks
Скачал WinPcap 4.1.2 Developer's Pack. Установил Version 4.1.3 Installer for Windows Driver +DLLs. В project build options>link...

12
10.07.2013, 01:16

Не по теме:

Цитата Сообщение от soican Посмотреть сообщение
почему создаётся main.с , а не .cpp
эмм... это просто расширения (.c/.cpp), от них ничего особо не зависит вроде. Хотя возможно CodeBlocks об этом другого мнения)

0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2013, 01:17
Цитата Сообщение от soican Посмотреть сообщение
2. почему нет никаких .h файлов.как мне потом написать #include "my_static_lib.h"
Созданная библиотека - файл с расширением .a. В проекте, для подключения библиотеки, в настройках компоновщика, добавляется эта библиотека.
0
49 / 23 / 3
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
10.07.2013, 01:26  [ТС]
gray_fox, посмотрите на это безобразие: 'for' loop initial declarations are only allowed in C99 mode|
C++
1
2
3
4
5
6
int SampleAddInt(int i1, int i2)
{    int l=0;
    for (int u=0;u<5;u++)
     l++;
    return l+i1 + i2;
}
это где видано, что б запрещали for использовать. я ко всему был готов....но к такому
0
What a waste!
 Аватар для gray_fox
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
10.07.2013, 01:34
soican, это значит С-компилятором компилируете, так ему (компилятору) должно быть всё равно, какое там расширение...
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2013, 01:52
Цитата Сообщение от soican Посмотреть сообщение
почему создаётся main.с , а не .cpp. Хочется писать на с++
Я просто расширение меняю на .cpp. Потом очистка, перестройка и вызывается с++ компилятор.
1
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2013, 01:59
Работает.
Миниатюры
Создание статической библиотеки в MinGw(code::blocks)  
1
49 / 23 / 3
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
10.07.2013, 02:28  [ТС]
так...первую проблему с main.c решили, но!!!не смотря на такие вот действия, SampleAddInt остается не видным для главного файла,куда эта библиотека подгружается
C++
1
2
3
4
5
6
int SampleAddInt(int i1, int i2) //это статическая библиотека
{    int l=0;
    for (int u=0;u<5;u++)
        l++;
    return l+i1 + i2;
}
C++
1
2
3
4
5
6
7
#include <iostream> 
using namespace std;  // это куда мы подгрузили статич. библ.
int main()
{   int v=SampleAddInt(5,6);
    cout << "Hello world!" <<endl;
    return 0;
}
Миниатюры
Создание статической библиотеки в MinGw(code::blocks)  
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2013, 02:37
Цитата Сообщение от soican Посмотреть сообщение
SampleAddInt остается не видным для главного файла,куда эта библиотека подгружается
По аналогии... #include <iostream> для чего делается? Прототип функции должен быть виден в main(). Прототип нужен компилятору, компоновщик найдёт реализацию в подключенной библиотеке.
1
49 / 23 / 3
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
10.07.2013, 02:54  [ТС]
я думал, что никогда не разберусь) шлю лучи респекта и благодарности
объявил,
C++
1
2
3
4
5
6
7
8
#include <iostream>
int SampleAddInt(int, int);
using namespace std;
int main()
{   int v=SampleAddInt(5,6);
    cout << "Hello world!" << v <<endl;
    return 0;
}
и заработало.
Теперь выхожу на следущий уровень - понять и сделать так, чтоб я просто писал #include <моя библиотека.h>
и без всяких прототипов(я вообще конечно дерзко замахнулся,сегодня пол 5 только узнал, что есть статические библиотеки)
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2013, 03:04
Цитата Сообщение от soican Посмотреть сообщение
Теперь выхожу на следущий уровень- понять и сделать так, чтоб я просто писал #include <моя библиотека.h>
Опять по аналогии со стандартными библиотеками... Где вы видели такое подключение библиотек? Так не получится. .h файл - это текстовый файл, содержимое которого вставляется, перед компиляцией, в месте подключения, а библиотека - это архив объектных файлов.
0
49 / 23 / 3
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
10.07.2013, 12:22  [ТС]
я имел ввиду, как подключается boost например #include <boost/thread.hpp> и подключил в линкер C:\Boost_1_54\lib\libboost_thread.a и ещё добавил в search directories C:\Boost_1_54\include\ и C:\Boost_1_54\lib
Я хочу понять, на чем основано такое подключение, и возможно использовать такое по необходимости
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2013, 12:32
Это другое дело. Но вы то же самое делаете в Code::Blocks. Осталось только прототипы функций, которые в библиотеке, поместить в отдельный .h файл и подключать, где нужно (например, в main()), как это делается и со стандартными библиотеками.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.07.2013, 12:32
Помогаю со студенческими работами здесь

Подключение библиотеки audiere C++ Code Blocks
Скачала архив (приложила его). Распаковала. Что делать дальше? Куда и что надо распихать? Заранее спасибо.

Ошибка библиотеки graphics.h в Code::Blocks
Всем привет! Я работаю в CodeBlock когда пишу #include&lt;graphics.h&gt; все время выдает ошибку. Подскажите пожалуйста в чем дело!

Code::Blocks добавление библиотеки в ликер
У меня такая проблема компилятор выдает ошибку undefined reference to `TextOutA@20' на одном форуме нашел что нужно добавить библиотеку...

Установка библиотеки png++ Windows Code::Blocks
Здравствуйте, подскажите пожалуйста как установить png++ в Windows, Code::Blocks ?

Создание статической библиотеки
Вообщем надо создать статическую библиотеку lib для классов. Классов очень много и они разбиты по хедерам .h . Я создал новый проект в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru