The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Как увязать C++ и C в одном проекте, !*! Savva, 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++ и C в одном проекте, !*! darin, 21:02 , 05-Апр-06 (1)
    >Есть у меня програмка на 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++ и C в одном проекте, !*! попкорм, 01:25 , 06-Апр-06 (2)
    >Есть у меня програмка на 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++ и C в одном проекте, !*! vvvua, 14:31 , 06-Апр-06 (3)
      >>Есть у меня програмка на 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"





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

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