nixp.ru v3.0

24 января 2017,
вторник,
22:23:17 MSK

DevOps с компанией «Флант»
i-zoom написал 13 апреля 2006 года в 22:36 (278 просмотров) Ведет себя неопределенно; открыл 10 тем в форуме, оставил 8 комментариев на сайте.

вынес классы в отдельные файлы:

widget_1.cpp

widget_1.h

widget_2.cpp

widget_2.h

есть главный файл main.cpp. Есть также файл с функциями на простом С (func.c и func.h).

так вот раньше компилил просто всё : делал файл .о из func.c командой gcc -c func.c а затем делал

g++ -c main.cpp

g++ -o main main.o func.o

теперь собственно вопрос: функции из файла func.c использую только в классе widget_1.cpp , как создать файл .o из двух файлов widget_1.cpp и func.c что бы потом можно было просто компилить командой

g++ main main.o widget_1.o widget_2.o

спасибо.

Longobard

А зачем такой геморрой то нужен?

Скомпиляй все по очереди

g++ -c *.{c,cpp}

Затем слинкуй

g++ *.o {тут подключаешь нужные либы, если есть} -o имя_получаемого_бинарника

А компилятор уже сам определит кто там кого и где использует, это его задача, а не твоя.

rgo

в файле widget_1.cpp:

extern "C" {
#include "func.c"
}
i-zoom
rgo
в файле widget_1.cpp:

extern "C" {
#include "func.c"
}

а можно в кратце о назначении данной инструкции ?

myst

А ты в инете покопайся. Или книжку по CPP купи.

i-zoom
rgo
в файле widget_1.cpp:

extern "C" {
#include "func.c"
}

спасибо, помогло.

и extern на всех данных поставил в этой сишной библиотеке, на всяк случай

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.