Подключение к visual studio

Caruso
Сообщения: 6
Зарегистрирован: 06 фев 2021, 14:22

Re: Подключение к visual studio

Сообщение Caruso »

Понял, спасибо еще раз!

Vladimir
Сообщения: 3
Зарегистрирован: 03 мар 2021, 18:28

Re: Подключение к visual studio

Сообщение Vladimir »

Может кто подскажет
У меня задача построить функцию когерентности 2 сигналов
Я рассчитал fft для обоих сигналов
Не могу найти алгоритм для C

Dr.Dr.
Сообщения: 1
Зарегистрирован: 20 апр 2021, 00:23

Re: Подключение к visual studio

Сообщение Dr.Dr. »

В примере не получается вызвать функции из пространства имён std, напрмер, std::cout из iostream :
Изображение

Вообще, пытаюсь собрать в QT creator под mingw32, вот mingw32 выдаёт ошибку:

Код: Выделить всё

C:/dsplib/libdspl-2.0/_release/dspl.h:1520:26: error: 'int (* std)(double*, int, double*)' redeclared as different kind of symbol
 DECLARE_FUNC(int,        std,                         double*          x
                          ^~~
C:/dsplib/libdspl-2.0/_release/dspl.h:740:43: note: in definition of macro 'DECLARE_FUNC'
                           extern p_##fn   fn;
                                           ^~
<built-in>: note: previous declaration 'namespace std { }'
Пробовал по очереди примерно подходящие флаги игнорирования (на манер майкрософтовского /permissive (MSDN), которую Вы использовали в скинутом примере):

Код: Выделить всё

QMAKE_CFLAGS += --enable-languages=c,c++
QMAKE_CFLAGS += -fpermissive
QMAKE_CFLAGS += -fermissive
QMAKE_CFLAGS += -pedantic
Это тоже не помогло.

Вопроса два:
1) Как решить проблему совместимости библиотеки с C++?
2) Если никак, то где переименовать функцию std в, например, dstd? Условным notepad++ или farmanager`ом это можно сделать полуавтоматически, но вот где остановиться? Переименовать функцию только в .c и .h файлах? Или нужно переименовывать ещё и в .f файлах и каких-то других. Так же, наверное, стоит убрать компиляцию примеров или в них тоже заменить эту функцию?

P.S.
Нашёл файл doxyfile_ru, в которым что-то говориться про возможность использования std функций и языка C++, но это же относится только к документации, так? Делаю такие выводы из заголовка файла:

Код: Выделить всё

# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 1114
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Подключение к visual studio

Сообщение Бахурин Сергей »

переименовать надо в следующих файлах:
include/dspl.h

Код: Выделить всё

DECLARE_FUNC(int,        std,                         double*          x
                                                COMMA int              n
                                                COMMA double*          s);
include/dspl.c объявление:

Код: Выделить всё

p_std                                   std                           ;
и загрузка

Код: Выделить всё

    LOAD_FUNC(std);
и в файле исходнике
dspl/src/statistic.c

Код: Выделить всё

int DSPL_API std(double* x, int n, double* s)
Вроде бы больше ничего не требуется
Переименовать можно в любом текстовом редакторе

Ответить