![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 09.04.2011
Сообщений: 49
|
![]()
Есть сишный проект, понадобилось прикрепить к нему один готовый плюсовый модуль.
Схематичный вид этого модуля: Код:
Но параметр функции - плюсовая структура с конструктором, из си никак не вызывается напрямую. 1. Создал отдельный header (extern_api.h), подключил его и к модулю и к main. 2. Описал в extern_api.h новую структуру params_c, которая содержит только поля, но не содержит конструкторов (чтобы было как си без плюсовых наворотов). 3. Сделал в модуле функцию-прокси abc_c, которая вызывается из си и из себя вызывает abc. Вместо params имеет параметр params_c, так что теперь ее можно вызывать из си. Код:
Код:
Код:
Получаю undefined reference к abc_c. Либа нормальная, компилится без ошибок, формат читаемый, имя функции фигурирует. Пробовал различные комбинации с Код:
Еще есть ошибки с передачей параметра в abc, т.к. в объявлении и определении abc_c стоят параметры разных типов. Как правильно настроить такую систему? Подскажите, пожалуйста, может я какую-нибудь ошибку не заметил.. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,368
|
![]()
должно быть:
extern "C" bool abc_c(const params_c *comp_params) когда extern_api.h используется из cpp файла и должно быть как и сейчас, когда подключается в .c файл |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 09.04.2011
Сообщений: 49
|
![]()
Большое спасибо! помогло )
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование using namespace System в MFC проекте | kluz | Помощь студентам | 0 | 06.06.2013 12:40 |
Использование С# dll в проекте C++ | Romowski | Visual C++ | 5 | 11.12.2012 08:59 |
Использование методов из проекта на С++ в проекте на C# | scailfon | Общие вопросы .NET | 7 | 06.06.2011 23:40 |
Ex7_16.cpp. Непонятные функции в ссылочном классе | ilya_t | Visual C++ | 3 | 23.08.2010 21:10 |
Использование DLL от третьей стороны в своем проекте | Yuran | Общие вопросы Delphi | 10 | 02.06.2008 19:04 |