The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как увязать C++ и C в одном проекте"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как увязать C++ и C в одном проекте"  
Сообщение от Savva email(ok) on 05-Апр-06, 17:13 
Есть у меня програмка на C. И вот потребовалось использовать некоторые функции из  сторонней библиотеки. Библиотека та написана на С++. Так вот в требуется сделать
#include "header.h"

в котором объявлен класс... , когда начинаю компилять свою прогу на С, gcc натыкается на клас и выдает кучу ошибок (оно и понятно)...

так вот что то мне подсказывает что должен быть способ обойти эту проблему...
Только вот переписать свою програмку с С на С++ не предлагайте :)

P.S. Попытался еще вот как сделать:
Програмка моя состоит из нескольких файлов. Я сначала компиляю объектные файлы
gcc -c file1.С
gcc -c file2.c
gcc -c file3.c

потом собираю все вместе gсс -o proga file1.o file2.o file3.o

тока вот потом появляется ругань : proga.o(.text+0x1fe): undefined reference to `err_msg(char const *,...)'


хотя пока было file1.c а не file1.C (ну на С был написан а не переделан на С++), то все собиралось как надо.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Как увязать C++ и C в одном проекте"  
Сообщение от darin (ok) on 05-Апр-06, 21:02 
>Есть у меня програмка на C. И вот потребовалось использовать некоторые функции
>из  сторонней библиотеки. Библиотека та написана на С++. Так вот
>в требуется сделать
>#include "header.h"
>
>в котором объявлен класс... , когда начинаю компилять свою прогу на С,
>gcc натыкается на клас и выдает кучу ошибок (оно и понятно)...
>
>
>так вот что то мне подсказывает что должен быть способ обойти эту
>проблему...
>Только вот переписать свою програмку с С на С++ не предлагайте :)
>
>
>
>
>P.S. Попытался еще вот как сделать:
>Програмка моя состоит из нескольких файлов. Я сначала компиляю объектные файлы
>gcc -c file1.С
>gcc -c file2.c
>gcc -c file3.c
>
>потом собираю все вместе gсс -o proga file1.o file2.o file3.o
>
>тока вот потом появляется ругань : proga.o(.text+0x1fe): undefined reference to `err_msg(char const
>*,...)'
>
>
>хотя пока было file1.c а не file1.C (ну на С был написан
>а не переделан на С++), то все собиралось как надо.

Попробуй создать makefile и используй cxx.


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Как увязать C++ и C в одном проекте"  
Сообщение от попкорм on 06-Апр-06, 01:25 
>Есть у меня програмка на C. И вот потребовалось использовать некоторые функции
>из  сторонней библиотеки. Библиотека та написана на С++. Так вот
>в требуется сделать
>#include "header.h"
>
>в котором объявлен класс... , когда начинаю компилять свою прогу на С,
>gcc натыкается на клас и выдает кучу ошибок (оно и понятно)...
>
>
>так вот что то мне подсказывает что должен быть способ обойти эту
>проблему...
>Только вот переписать свою програмку с С на С++ не предлагайте :)
>
>
>
>
>P.S. Попытался еще вот как сделать:
>Програмка моя состоит из нескольких файлов. Я сначала компиляю объектные файлы
>gcc -c file1.С
>gcc -c file2.c
>gcc -c file3.c
>
>потом собираю все вместе gсс -o proga file1.o file2.o file3.o
>
>тока вот потом появляется ругань : proga.o(.text+0x1fe): undefined reference to `err_msg(char const
>*,...)'
>
>
>хотя пока было file1.c а не file1.C (ну на С был написан
>а не переделан на С++), то все собиралось как надо.


учите албанский!
там есть конструкция extern "C"

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Как увязать C++ и C в одном проекте"  
Сообщение от vvvua (??) on 06-Апр-06, 14:31 
>>Есть у меня програмка на C. И вот потребовалось использовать некоторые функции
>>из  сторонней библиотеки. Библиотека та написана на С++. Так вот
>>в требуется сделать
>>#include "header.h"

и нужно сделать из либы объектник с помощью g++

>>
>>в котором объявлен класс... , когда начинаю компилять свою прогу на С,
>>gcc натыкается на клас и выдает кучу ошибок (оно и понятно)...
>>
>>
>>так вот что то мне подсказывает что должен быть способ обойти эту
>>проблему...
>>Только вот переписать свою програмку с С на С++ не предлагайте :)
>>
>>
>>
>>
>>P.S. Попытался еще вот как сделать:
>>Програмка моя состоит из нескольких файлов. Я сначала компиляю объектные файлы
>>gcc -c file1.С
>>gcc -c file2.c
>>gcc -c file3.c
>>
>>потом собираю все вместе gсс -o proga file1.o file2.o file3.o

gсс -o proga file1.o file2.o file3.o LIBA.o

>>
>>тока вот потом появляется ругань : proga.o(.text+0x1fe): undefined reference to `err_msg(char const
>>*,...)'
>>
>>
>>хотя пока было file1.c а не file1.C (ну на С был написан
>>а не переделан на С++), то все собиралось как надо.

ругается линкер, а не компилер
>
>
>учите албанский!
>там есть конструкция extern "C"


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру