На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Не собирается проект под linux

Поиск  Пользователи  Правила  Войти
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: 1 2 След.
RSS
Не собирается проект под linux, Не могу собрать проект написанный под Windows в ОС Linux (Kubuntu 19)
 
Добрый день!
У нас есть два ваших дистрибутива с ключами (Windows-ToolKit 11.9.0  и Astra 1.3 Конструктор 11.6.0 free)
Написан простой пробный проект на ОС Windows с маленькими картами (Подольск) - все работает.
Пытаюсь его же собрать под Linux.
При сборке выдает ошибки типа:
 

In file included from gis/include/mapmacro.h:22,

                from gis/include/maptype.h:26,

                from gis/include/mapgdi.h:21,

                from gis/include/mapapi.h:100,

                from src/apiinteractor.h:7,

                from src/apiinteractor.cpp:1:

gis/include/mapsyst.h:682:6: error: ambiguating new declaration of ‘int wcslen(const WCHAR*)’

 int wcslen(const WCHAR *s);

     ^~~~~~  

In file included from /usr/include/c++/8/cwchar:44,

                from /usr/include/c++/8/bits/postypes.h:40,

                from /usr/include/c++/8/bits/char_traits.h:40,

                from /usr/include/c++/8/string:40,

                from /usr/share/Qt5.12.2/5.12.2/gcc_64/include/QtCore/qbytearray.h:52,

                from /usr/share/Qt5.12.2/5.12.2/gcc_64/include/QtCore/qstring.h:49,

                from /usr/share/Qt5.12.2/5.12.2/gcc_64/include/QtCore/qobject.h:47,

                from /usr/share/Qt5.12.2/5.12.2/gcc_64/include/QtCore/QObject:1,

                from src/apiinteractor.h:4,

                from src/apiinteractor.cpp:1:

/usr/include/wchar.h:222:15: note: old declaration ‘size_t wcslen(const wchar_t*)’

extern size_t wcslen (const wchar_t *__s) __THROW __attribute_pure__;

              ^~~~~~

Если ставлю на Linux скачанную с вашего сайта версию:

ГИС Конструктор для Qt Designer x64 (версия 12.5.1, Qt 4, Qt 5, платформа x64, ОС Ubuntu 18.04)

то ругается - undefined reference to :

mapOpenMtrForMap(hMap,name,0);

mapPictureToPlane(hMap,x,y);

mapPlaneToGeo(hMap,x,y);

mapGeoToPlane(map,x,y);

и т.д.

Подскажите, могу ли я собирать под Linux свои проекты, написанные на Windows?

 
Цитата
Артем написал:
gis/include/mapsyst.h:682:6: error: ambiguating new declaration of ‘int wcslen(const WCHAR*)’
Здравствуйте.

Пока не ответили представители Панорамы, могу предположить, что для решения этой проблемы подойдет определение дефайна HIDEFUNCWCS в pro-файле для linux.
 
Цитата
Сергей написал:
Здравствуйте.Пока не ответили представители Панорамы, могу предположить, что для решения этой проблемы подойдет определение дефайна HIDEFUNCWCS в pro-файле для linux.
Добрый день!
Добавил дефайн, пропали  ошибки:

gis/include/mapsyst.h:682:6: error: ambiguating new declaration of ‘int wcslen(const WCHAR*)’

 int wcslen(const WCHAR *s);

     ^~~~~~  

Зато теперь валятся другие (насчет XML) типа:

 

/usr/bin/ld: gis/lib/libqdwmsacces.so: undefined reference to `QDomNode::removeChild(QDomNode const&)'

/usr/bin/ld: gis/lib/libqdwmsacces.so: undefined reference to `QDomNode::nodeName() const'

/usr/bin/ld: gis/lib/libqdwmsacces.so: undefined reference to `QDomNode::appendChild(QDomNode const&)'

/usr/bin/ld: gis/lib/libqdwmsacces.so: undefined reference to `QDomNode::~QDomNode()'

 
Цитата
Артем написал:
Зато теперь валятся другие (насчет XML) типа:
Добрый день. Я бы сказал, что у вас не установлен Qt 5 XML module, но могу ошибаться.
 
Цитата
Сергей написал:
Добрый день. Я бы сказал, что у вас не установлен Qt 5 XML module, но могу ошибаться.
Установлен. Есть проекты с использованием xml - все работает!
 
panorama.h (не получается убрать пробел из #include <math.h>, опять движок форума барахлит?):
Код
#pragma once
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wsign-conversion"
#pragma GCC diagnostic ignored "-Wsign-compare"
#pragma GCC diagnostic ignored "-Wreturn-type"
#pragma GCC diagnostic ignored "-Wunused-variable"
#define HIDEMAXMIN

#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <cstdio>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <time.h>
#include <ctype.h>
#include <errno.h>
#include <string.h>
#include <dlfcn.h>
#include <pthread.h>
#include <sys/socket.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <sys/time.h>
#include <ma th.h>
#include <cmath>

namespace panorama{
#include <mapapi.h>
#include <vecexapi.h>
#include <maptype.h>
#include <mathapi.h>
#include <maptype.h>
}


#undef HIDEMAXMIN

#pragma GCC diagnostic pop
Изменено: Владимир Егоров - 30.10.2019 20:42:09
 
Здравствуйте!

Прошу прощения за задержку с ответом.
Цитата
Артем написал:
При сборке выдает ошибки типа:  In file included from gis/include/mapmacro.h:22,
Уточните, пожалуйста, при сборке в Astra Linux используются заголовочные файлы из состава ГИС Конструктор?

Дополнительно, предлагаю сформировать общий простой тестовый пример, который мы можем собрать в Astra Linux (например, небольшой main() с подключением заголовочных файлов).

Спасибо!
 
Цитата
Александр Савелов написал:
Уточните, пожалуйста, при сборке в Astra Linux используются заголовочные файлы из состава ГИС Конструктор?
да.

Насколько я понял универсальный код написать не выйдет!

mapPaintToDib(...) - для Windows
mapPaintToXImage (...) -для Linux

и т.д.

Подскажите если не так!
 
Цитата
Артем написал:
mapPaintToXImage (...) -для Linux
Добрый день.
В моей версии MAPAPI для Windows эта функция также доступна.
 
Цитата
Сергей написал:
В моей версии MAPAPI для Windows эта функция также доступна.
Эти функции  в mapapi.h присутствуют, но обернуты дефайнами под конкретную платформу.
Страницы: 1 2 След.
Читают тему (гостей: 2)



© КБ Панорама, 1991-2021

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности