32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
1

Добавление cpp файлов в процессе компиляции

10.11.2013, 19:01. Показов 1679. Ответов 23
Метки нет (Все метки)

Есть у меня проект. Тут один файл main

C++
1
2
3
4
5
6
#include "D:\\test.h"
void main()
{
    test obj;
    obj.func();
}
Соответственно файлы test.h и test.cpp

C++
1
2
3
4
5
class test
{
public:
    void func();
};
C++
1
2
3
#include "test.h"
 
void test::func() {}
Все работает, только в том случае если все эти файлы включенны в проект.

А если мне нужно чтобы эти файлы не были включенны в проект???
Допустим файл test.h с объявлениями я подключу, а как быть с реализацией test.cpp???
Этот файл мой проект не видит и не знает о его существовании.
Как мне его сделать видимым, не включая в проект??
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2013, 19:01
Ответы с готовыми решениями:

Библиотеки в CPP. Ошибка компиляции | CPP
Доброго вечера! Появился один вопросик недавно. Начал юзать библиотеку <windows.h> для...

Вывод в TextBox, Использование встроенного класса в компиляции, добавление файлов в ресурсы по нажатию кнопки
Привет! Забросил c#, начал обрастать жиром (начинал изучать на тот момент). Тут взял и почти все...

Подключение файлов main.cpp some.cpp some.h
Всем привет, программа разделенна на три файла poly.cpp main.cpp poly.h Кто мог бы объяснить как...

Ошибка в процессе компиляции - fatal error C1083
ДОБРЫЙ ВЕЧЕР ВСЕМ! Некоторое время назад у меня возникла необходимость изучить и овладеть навыками...

23
Каратель
Эксперт С++
6606 / 4025 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
10.11.2013, 19:07 2
никак
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
10.11.2013, 19:07 3
Цитата Сообщение от Egor138 Посмотреть сообщение
Как мне его сделать видимым, не включая в проект??
И главное - зачем!?
0
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
10.11.2013, 19:08  [ТС] 4
Цитата Сообщение от Jupiter Посмотреть сообщение
никак
Но как эта проблема решается в различных библиотеках???
Все пишут в h файлах?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
10.11.2013, 19:11 5
Цитата Сообщение от Jupiter Посмотреть сообщение
никак
ну, можно и test.cpp заинклюдить в main.cpp

Добавлено через 2 минуты
Цитата Сообщение от Egor138 Посмотреть сообщение
Но как эта проблема решается в различных библиотеках???
В каких библиотеках? Примеры приведите. Если либа только из хедеров, то прописываешь дополнительные пути инклюда и всё готово. Если либа уже собрана, то надо помимо хедера линковать объектник с кодом. Всё равно это в проекте прописывается.
0
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
10.11.2013, 19:24  [ТС] 6
Цитата Сообщение от Tulosba Посмотреть сообщение
ну, можно и test.cpp заинклюдить в main.cpp

#include "test.cpp"

И куча разных ошибок появляется. Типа переопределение класса....

Добавлено через 2 минуты
Цитата Сообщение от Tulosba Посмотреть сообщение
Если либа только из хедеров, то прописываешь дополнительные пути инклюда и всё готово. Если либа уже собрана, то надо помимо хедера линковать объектник с кодом. Всё равно это в проекте прописывается.

Ну если мне нужно чтобы код реализации был видет. (ну как в моем примере).
Как мне подключить эти объектные файлы?

Добавлено через 12 секунд
Цитата Сообщение от Tulosba Посмотреть сообщение
Если либа только из хедеров, то прописываешь дополнительные пути инклюда и всё готово. Если либа уже собрана, то надо помимо хедера линковать объектник с кодом. Всё равно это в проекте прописывается.

Ну если мне нужно чтобы код реализации был видет. (ну как в моем примере).
Как мне подключить эти объектные файлы?

Добавлено через 10 минут
И тут ответы закончились
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
10.11.2013, 19:26 7
Цитата Сообщение от Egor138 Посмотреть сообщение
И куча разных ошибок появляется. Типа переопределение класса....
Если *.cpp файл в проект не включен ошибок переопределения быть не должно.
Цитата Сообщение от Egor138 Посмотреть сообщение
Ну если мне нужно чтобы код реализации был видет. (ну как в моем примере).
Что значит "виден код"?
Цитата Сообщение от Egor138 Посмотреть сообщение
Как мне подключить эти объектные файлы?
Объектные файлы подключаются как сторонние библиотеки. См. настройки линкера.
0
Avazart
10.11.2013, 19:30
  #8

Не по теме:

Цитата Сообщение от Egor138 Посмотреть сообщение
И тут ответы закончились
Лимит ответов на глупые вопросы просто исчерпался...
Ищи ответы в книгах ...

1
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
10.11.2013, 19:31  [ТС] 9
Цитата Сообщение от Tulosba Посмотреть сообщение
Что значит "виден код"?
На диске D 2 файла. test.h, test.cpp. Их в проекте нету.
Обычным инклюдом я подключаю h файл, где просто объявленны функция без реализации. При компиляции ошибка: ссылка на неразрешенною лексему. А все потому что cpp файла где реализация этой функции нету в проекте. Если я его включю в проект - все нормально.
А если я не хочу включать и мне нужно как то подключить его.
0
Jupiter
10.11.2013, 19:32
  #10

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
ну, можно и test.cpp заинклюдить в main.cpp
и чё?

0
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
10.11.2013, 19:33  [ТС] 11
Цитата Сообщение от Avazart Посмотреть сообщение

Не по теме:


Лимит ответов на глупые вопросы просто исчерпался...
Ищи ответы в книгах ...

Просто все дело в том что я нигде не могу найти. Весь интернет облазил. Искал по запросам:
Как подключить объектные файлы
0
Эксперт С++
8382 / 6144 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.11.2013, 19:34 12
Читай про этапы сборки проекта....
0
Tulosba
10.11.2013, 19:35
  #13

Не по теме:

Цитата Сообщение от Jupiter Посмотреть сообщение
и чё?
ничего хорошего. но уж точно не "никак".

0
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
10.11.2013, 19:35  [ТС] 14
Цитата Сообщение от Tulosba Посмотреть сообщение
то надо помимо хедера линковать объектник с кодом
Вот именно в этом и есть мой вопрос. Как это линковать?
Это связанно с файлом .lib ?
0
Каратель
Эксперт С++
6606 / 4025 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
10.11.2013, 19:36 15
Функция или библиотека?
Цитата Сообщение от Tulosba Посмотреть сообщение
ничего хорошего. но уж точно не "никак".
1
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
10.11.2013, 19:39 16

Не по теме:

Цитата Сообщение от Egor138 Посмотреть сообщение
А если я не хочу включать и мне нужно как то подключить его.
Цитата Сообщение от Egor138 Посмотреть сообщение
не хочу включать
Цитата Сообщение от Egor138 Посмотреть сообщение
нужно как то подключить
надо определяться :)



Добавлено через 50 секунд

Не по теме:

Цитата Сообщение от Jupiter Посмотреть сообщение
Функция или библиотека?
и чо?

1
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
10.11.2013, 19:40  [ТС] 17
Цитата Сообщение от Tulosba Посмотреть сообщение
надо определяться

Я имею ввиду не включать вручную.
Пусть он подключается какой нибудь строчкой кода
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
10.11.2013, 19:44 18
Egor138, ну вон ссылку выше Jupiter дал. Почитайте.
У Вас недопонимание на базовом уровне как программа собирается. Отсюда и вопросы глупые.
1
Jupiter
10.11.2013, 19:44
  #19

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
и чо?
ссылка на тему для ТС:-|

1
Tulosba
10.11.2013, 19:49     Добавление cpp файлов в процессе компиляции
  #20

Не по теме:

Цитата Сообщение от Jupiter Посмотреть сообщение
ссылка на тему для ТС
да понял уже, :umnik: Смайлик не цитируется. Но с "никак" не согласен.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2013, 19:49

Внесение изменений в БД - в процессе компиляции происходит ошибка на последней строчке
con.Open(); OleDbCommand com = new OleDbCommand(); com.Connection = con; com.CommandText =...

Как узнать какие именно оптимизации были в процессе компиляции?
Можно ли как то получить С++ код в том виде, как он был оптимизирован компилятором? Анализировать...

Перевод из cpp на asm для компиляции в com-файл
помогите перевести маленький код с cpp на asm немного знаний по asm у меня есть, но их не...

Нормальная IDE для компиляции одного .cpp
Учу с++. Перепробовал половину сред в ветке вверху. Но лучше вижуал студии не нашел. Ее самый...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru