Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
#1

Подключение файлов obj - C++

09.11.2013, 11:16. Просмотров 978. Ответов 20
Метки нет (Все метки)

Здравствуйте!

Мне очень интересно следующее: допустим есть программа, в которой есть 3 файла (1: main.cpp, 2: class.h, 3: class.cpp) мы их откомпилировали и все хорошо... Но через какое-то время необходимо внести изменения в main.cpp, при этом class.cpp и class.h остаются нетронутыми. Так как же скомпилировать отдельно main.cpp подключив class.h, class.cpp в формате obj и чтобы в итоге получился один exe?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2013, 11:16     Подключение файлов obj
Посмотрите здесь:

Подключение фортрановских файлов в формате OBJ - C++
Здравствуйте, подскажите пожалуйста как подключить файл .obj фортрановский, в консольном приложении на C++ в среде VS2010? При простом...

как overload ++OBJ и --OBJ - C++
как overload ++OBJ и --OBJ

Подключение файлов - C++
Как правильно соединить такие 3 файла: main_doc.cpp (файл с главной функцией, с которого все собственно и начинается) gamer.cpp(файл с...

Подключение файлов - C++
Здраствуйте! Проблема заключается в том, что при чтении файла формата .txt файл читает но вместо текста : Congratulations you did it ...

Подключение .h файлов в VS2010 - C++
Всем привет. Пишу курсовик. Не буду писать подробно. Задача какая: есть несколько .cpp файлов, в них во всех нужно использовать одни...

Подключение сторонних файлов - C++
Добрый день! Я новичок в С++ и программировании вообще. Если мой вопрос покажется идиотским, все таки хоть как то объясните. Я изучаю С++...

C++ подключение текстовых файлов - C++
Привет. Прошу прощения, если подобная тема уже есть, но я ее не нашел Как вижуал с++ подключить текстовый файл для чтения и записи?...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,050
Записей в блоге: 3
Завершенные тесты: 1
09.11.2013, 11:18     Подключение файлов obj #2
многие IDE сами контролируют что нужно компилировать, а что нет.
Можно соорудить makefile, например
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
09.11.2013, 11:39     Подключение файлов obj #3
Цитата Сообщение от BESSON_off Посмотреть сообщение
Так как же скомпилировать отдельно main.cpp подключив class.h, class.cpp в формате obj и чтобы в итоге получился один exe?
взять откомпилировать только main и затем слинковать
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
09.11.2013, 13:06  [ТС]     Подключение файлов obj #4
Цитата Сообщение от Jupiter Посмотреть сообщение
Взять откомпилировать
Если начинаю отдельно компилировать, то компилятор ругается, что не знает тип (класс ведь не подключен).
Цитата Сообщение от Jupiter Посмотреть сообщение
затем слинковать
Можно пошагово описать как это сделать?
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
09.11.2013, 14:04     Подключение файлов obj #5
для gcc/mingw
код
C++
1
2
3
4
5
6
7
//main.cpp
#include "myclass.h"
 
int main()
{
    myclass c;
}
C++
1
2
3
4
5
6
7
8
//myclass.h
#pragma once
 
class myclass
{
public:
    myclass();
};
C++
1
2
3
4
5
6
7
8
//myclass.cpp
#include "myclass.h"
#include <iostream>
 
myclass::myclass()
{
    std::cout << "myclass" << std::endl;
}

компилим: g++ -c main.cpp myclass.cpp
линкуем: g++ main.o myclass.o
вносим изменения в main.cpp:
main.cpp
C++
1
2
3
4
5
6
7
8
//main.cpp
#include "myclass.h"
 
int main()
{
    myclass c;
    myclass d;
}

компилим: g++ -c main.cpp
линкуем: g++ main.o myclass.o

на других компиляторах принцип аналогичный
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
09.11.2013, 19:37  [ТС]     Подключение файлов obj #6
А если это через MVS2012 делать, то как?
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,050
Записей в блоге: 3
Завершенные тесты: 1
09.11.2013, 19:38     Подключение файлов obj #7
Цитата Сообщение от BESSON_off Посмотреть сообщение
А если это через MVS2012 делать, то как?
она сама определит что нужно компилировать, а что нет.
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
09.11.2013, 19:55  [ТС]     Подключение файлов obj #8
То есть, в MVS, если в папке проекта лежит объектный файл, входящий в программу без изменений, то при очередной компиляции он подключается и перекомпилировки его не происходит?
palva
2592 / 1814 / 260
Регистрация: 08.06.2007
Сообщений: 6,958
Записей в блоге: 4
09.11.2013, 21:40     Подключение файлов obj #9
Вы правильно понимаете. Но у вас есть возможность подключить к проекту obj-файл (или lib-файл) непосредственно. В этом случае вы вообще не обязаны иметь исходники. Правой кнопкой по проекту Add... Existing Item

Добавлено через 51 секунду
Цитата Сообщение от BESSON_off Посмотреть сообщение
если в папке проекта лежит объектный файл
Здесь будет даже не важно, где лежит этот объектный файл.
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
13.11.2013, 15:33  [ТС]     Подключение файлов obj #10
Вот за это отдельное спасибо!
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
16.11.2013, 07:35  [ТС]     Подключение файлов obj #11
Добавил файлы, как было описано выше, но теперь встал вопрос как сделать так, чтобы в основной программе они определялись? В файле "Class1.obj" объявление класса, а в файле "Body.obj" его определение. Класс называется "Cat" (см. картинку).
P.S. Правильно заинклудил obj?
Миниатюры
Подключение файлов obj  
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
16.11.2013, 12:46     Подключение файлов obj #12
Цитата Сообщение от BESSON_off Посмотреть сообщение
P.S. Правильно заинклудил obj
Мачете не курит obj не инклудят
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
16.11.2013, 13:08  [ТС]     Подключение файлов obj #13
А что нужно сделать, чтобы использовать функции из объектного файла?
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
16.11.2013, 13:27     Подключение файлов obj #14
добавить obj файл в процесс линковки.
интуитивно понятно что для это наго открыть опции линковки.
интуитивно понятно что опции линковки находятся в опциях проекта.
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
16.11.2013, 13:52  [ТС]     Подключение файлов obj #15
Уважаемый человек, подскажи пожалуйста пошагово что делать... у меня MVS2012
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
16.11.2013, 14:02     Подключение файлов obj #16
а когда выйдет новая версия VS ты снова придешь на форум спрашивать?
закрой свою студию и "прощупай" процесс сборки из консоли, после этого произвести настройку внутри студии не составит труда. для пошаговых инструкций есть мсдн и справка. не хочешь разбираться сам - так и нечего этим страдать!
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
16.11.2013, 18:54  [ТС]     Подключение файлов obj #17
Цитата Сообщение от Jupiter Посмотреть сообщение
для пошаговых инструкций есть мсдн и справка
Искал, это все на английском...
Orlanxxx
4 / 1 / 0
Регистрация: 11.10.2009
Сообщений: 153
16.11.2013, 18:58     Подключение файлов obj #18
То же интересно может есть какая летиратурка по этому вопросу?
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
17.11.2013, 09:34  [ТС]     Подключение файлов obj #19
Все испробовал... как же это реализовать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2013, 09:37     Подключение файлов obj
Еще ссылки по теме:

Подключение других файлов - C++
Я написал программу и кода получилось довольно много... Можно как нибудь его разбить на несколько кусков и каждый поместить в отдельный...

Подключение файлов в проект - C++
Здравствуйте. Запутался немного с подключением файлов, подскажите как лучше организовать. Собственно прикладываю картинку со схемой...

Не работает подключение текстовых файлов - C++
Добрый вечер. Сделал простенькую программу для обработки массива чисел из txt файла. Задание звучит следующим образом: Код моей...

Подключение .h файлов друг в друга - C++
Здравствуйте. Появилась такая проблема: есть два .h файла, и они перекликаются содержимым: в одном наследуется класс из другого, а в...

Подключение сторонних заголовочных файлов - C++
есть 2 репозитория с моим проектом, и с файлами которые пишутся для нескольких проектов, можно ли подключить их не перенося в мой проект?...


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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,050
Записей в блоге: 3
Завершенные тесты: 1
17.11.2013, 09:37     Подключение файлов obj #20
Цитата Сообщение от BESSON_off Посмотреть сообщение
Искал, это все на английском...
И что? Большая часть нормальной документации и книг на английском.
Цитата Сообщение от BESSON_off Посмотреть сообщение
как же это реализовать?
что Вы собираетесь реализовывать?
Цитата Сообщение от Jupiter Посмотреть сообщение
закрой свою студию и "прощупай" процесс сборки из консоли, после этого произвести настройку внутри студии не составит труда.
Yandex
Объявления
17.11.2013, 09:37     Подключение файлов obj
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru