Я новичок во всем этом с ++, так что, вероятно, это проблема новичка:
ListScreen.h
#ifndef _LISTSCREEN_H_
#define _LISTSCREEN_H_
#include "MAUI/Screen.h"
namespace CoolPlaces {
namespace Views {
using namespace MAUI;
class ListScreen : public Screen {
public:
ListScreen();
~ListScreen();
void keyPressEvent(int keyCode, int nativeCode) {}
void keyReleaseEvent(int keyCode, int nativeCode) {}
void pointerPressEvent(MAPoint2d point) {}
void pointerReleaseEvent(MAPoint2d point) {}
void pointerMoveEvent(MAPoint2d point) {}
void show();
};
}
}
#endif //_LISTSCREEN_H_
ListScreen.cpp
#include "MAUI/Screen.h"#include "ListScreen.h"
using namespace MAUI;
using namespace CoolPlaces::Views;
void ListScreen::show() {
Screen::show();
};
Я получаю эту ошибку: D:\MosyncProjects\Views\ListScreen.cpp:22: Error: Unresolved symbol '__ZN4MAUI6Screen4showEv' line 22
в этом Screen::show();
вызов (для целей этой темы я удалил некоторый код). Так что именно я здесь делаю не так?
Вы включаете заголовочный файл, который говорит, что функция Screen::show()
существует, но, вероятно, не связывает библиотеку, которая имеет реализацию.
Смотрите эту страницу: http://www.mosync.com/docs/sdk/cpp/guides/libs/working-with-mosync-libraries/index.html
В частности:
Помимо ссылок на файлы заголовков в коде приложения, вам также необходимо указать фактические библиотеки, которые вы хотите использовать, в настройках сборки проекта («Проект»> «Свойства»> «Проект MoSync»> «Настройки сборки»):
Похоже, maui.lib должен содержать код экрана.
Других решений пока нет …