![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
TiiL |
![]()
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 124 Регистрация: 8.6.2011 Пользователь №: 2727 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Сначала о струтуре всего что делаю:
1-ое запускается приложение, по нажатию кнопки гоу запускается функция допустим fat(), какими нибудь параметрами. 2-ое функция fat() находиться в библиотеке(созданная для множества приложений), в ней ведутся вычисления, в своё время после вычислений функция вызывает функцию plot()(которая рисует графики). вот и подошел к вопросу: поясните мне ,как подключить мою функцию plot в эту библиотеку: что получается, разработал приложение на qwt которое рисует графики: структура моего приложения: Раскрывающийся текст
имитация функции fat() Раскрывающийся текст
имитация функции plot Раскрывающийся текст
как я всё это вижу я должен разделить своё приложение на 1-ое диалоговое окно в котором всё это рисуется, 2-ое на функции которые рисуют сами линии графиков, какой функцией будет запускать моё диологовое окно этого для меня загадка( PS Извените если что не понятно, если что задавайте вопросы. буду отвечать Сообщение отредактировал TiiL - 1.3.2012, 9:36 |
|
|
![]() |
TiiL |
![]()
Сообщение
#2
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 124 Регистрация: 8.6.2011 Пользователь №: 2727 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
с выше изложенными проблемами разобрался... теперь эту библиотеку подключаю, к проекту...
вылезли вот такие ошибки: ../grathQWT/debug/libgrathQWT.a(mainwindow.o): In function `MainWindow': C:\MyProjects\grathQWT/../../Qt/2010.05/qt/include/QtCore/../../src/corelib/arch/qatomic_i386.h:125: multiple definition of `MainWindow::MainWindow(QWidget*)' debug/mainwindow.o:C:\MyProjects\fatigue/mainwindow.cpp:59: first defined here ../grathQWT/debug/libgrathQWT.a(mainwindow.o): In function `MainWindow': C:\MyProjects\grathQWT/mainwindow.cpp:6: multiple definition of `MainWindow::MainWindow(QWidget*)' debug/mainwindow.o:C:\MyProjects\fatigue/mainwindow.cpp:59: first defined here ../grathQWT/debug/libgrathQWT.a(mainwindow.o): In function `~MainWindow': C:\MyProjects\grathQWT/mainwindow.cpp:53: multiple definition of `MainWindow::~MainWindow()' debug/mainwindow.o:C:\MyProjects\fatigue/mainwindow.cpp:71: first defined here ../grathQWT/debug/libgrathQWT.a(mainwindow.o):C:\MyProjects\grathQWT/mainwindow.cpp:56: multiple definition of `non-virtual thunk to MainWindow::~MainWindow()' debug/mainwindow.o:C:\MyProjects\fatigue/mainwindow.cpp:74: first defined here ../grathQWT/debug/libgrathQWT.a(mainwindow.o): In function `~MainWindow': C:\MyProjects\grathQWT/mainwindow.cpp:53: multiple definition of `MainWindow::~MainWindow()' debug/mainwindow.o:C:\MyProjects\fatigue/mainwindow.cpp:71: first defined here ../grathQWT/debug/libgrathQWT.a(mainwindow.o):C:\MyProjects\grathQWT/mainwindow.cpp:56: multiple definition of `non-virtual thunk to MainWindow::~MainWindow()' debug/mainwindow.o:C:\MyProjects\fatigue/mainwindow.cpp:74: first defined here ../grathQWT/debug/libgrathQWT.a(mainwindow.o): In function `~MainWindow': C:\MyProjects\grathQWT/mainwindow.cpp:53: multiple definition of `MainWindow::~MainWindow()' debug/mainwindow.o:C:\MyProjects\fatigue/mainwindow.cpp:71: first defined here collect2: ld returned 1 exit status что интересно: когда библиотеку подключил более простому проекту Код: #include <QtGui/QApplication> #include "dialog.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); //Dialog w; //w.show(); MainWindow Window; const int N = 13; int n; int numberCurve; double x[N+1]={1,2,3,6,8,9,11,12,13,14,18,21,22}; //double x[N+1]={-10,-7,-6,-5,-4, -2,-1,0, 2,3,6,9,10}; double y[N+1]; double x2[N+1]; double y2[N+1]; double AxisXmax = 0; double AxisXmin = 0; double AxisYmax = 0; double AxisYmin = 0; double errorX; for(int k = 0; k < N; k++ ) { y[k]=exp(x[k]); //первый график x2[k]= x[k]+ 2; y2[k]=x2[k]*x[k] + 3 * x2[k]; //exp(x2[k]); //второй график //определяем минимум макимум х и у if(x[k] > AxisXmax) AxisXmax = x[k]; if(x[k] < AxisXmin) AxisXmin = x[k]; if(y[k] < AxisYmin) AxisYmin = y[k]; if(y[k] > AxisYmax) AxisYmax = y[k]; if(x[k] < 0 ) errorX = x[k]; } numberCurve = 1; n = Window.plot_first (AxisXmax,AxisXmin,AxisYmax,AxisYmin,errorX,x,y,N,numberCurve); //вызов моей библиотечной функции // if( n == 0 ) // { // numberCurve++; // for(int k=0; k < N; k++) // { // x[k]=x2[k]; // y[k]=y2[k]; // } // n = plot_next(x,y,N,numberCurve); // } Window.show (); return a.exec(); } то всё работает, есть мысль: что приложение к которому идёт подключение библиотеки, основой является класс QMainWindow Код: class MainWindow : public QMainWindow и моё библиотечное приложение идёт как Код: class MainWindow : public QMainWindow { Q_OBJECT и из-за этого множественное объявление, может быть такое или нет? |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 4.6.2025, 18:41 |