Есть у меня програмка на 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. И вот потребовалось использовать некоторые функции
>из сторонней библиотеки. Библиотека та написана на С++. Так вот
>в требуется сделать
>#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. И вот потребовалось использовать некоторые функции
>из сторонней библиотеки. Библиотека та написана на С++. Так вот
>в требуется сделать
>#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. И вот потребовалось использовать некоторые функции
>>из сторонней библиотеки. Библиотека та написана на С++. Так вот
>>в требуется сделать
>>#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.ogсс -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"