Порядок самостоятельной сборки библиотеки внешних компонент из исходников:
- Для сборки необходимо установить Visual Studio Community 2019
- Скачиваем и устанавливаем библиотеку boost
- Чтобы работала сборка примера обработки EPF надо установить OneScript версии 1.0.20 или выше
- Устанавливаем VirtualBox и разворачиваем в минимальной конфигурации Ubuntu 18.04 или CentOS 8
- Устанавливаем на Linux необходимые пакеты (см. ниже) и дополнения гостевой ОС
- Подключаем в VirtualBox общую папку с исходными текстами внешней компоненты
- В среде Linux для компиляции библиотек запустить ./build.sh
- В среде Window для завершения сборки запустить ./compile.bat
Сборка для Linux в CentOS 8:
yum -y group install "Development Tools"
yum -y install cmake glibc-devel.i686 glibc-devel libuuid-devel
yum -y install libstdc++-devel.i686 gtk2-devel.i686 glib2-devel.i686
yum -y install libstdc++-devel.x86_64 gtk2-devel.x86_64 glib2-devel.x86_64
yum -y install libXtst-devel.i686 libXtst-devel.x86_64
git clone https://github.com/lintest/VanessaExt.git
cd VanessaExt
./build.sh
Сборка для Linux в Ubuntu 18.04:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y build-essential cmake git
sudo apt install -y gcc-multilib g++-multilib
sudo apt install -y uuid-dev libx11-dev libxrandr-dev libpng-dev
sudo apt install -y libxtst-dev libxtst-dev:i386
git clone https://github.com/lintest/VanessaExt.git
cd VanessaExt
./build.sh
Сборка библотеки boost для Windows
b2.exe toolset=msvc link=static threading=multi runtime-link=static release stage
Сборка библотеки [boost] для Linux
./b2 cxxflags=-fPIC link=static threading=multi runtime-link=static release stage
Установка на VirtualBox дополнений гостевой ОС для Linux:
mkdir -p /media/cdrom
mount -r /dev/cdrom /media/cdrom
cd /media/cdrom
./VBoxLinuxAdditions.run
sudo usermod -a -G vboxsf "$USER"
reboot
Установка современного компилятора С++ на CentOS 7.7
sudo yum install -y centos-release-scl
sudo yum install -y devtoolset-9-gcc*
scl enable devtoolset-9 bash
Установка на VirtualBox дополнений гостевой ОС для CentOS:
yum group install -y "Development Tools"
yum install -y kernel-devel
mkdir -p /media/cdrom
mount -r /dev/cdrom /media/cdrom
cd /media/cdrom
./VBoxLinuxAdditions.run
reboot
Чтобы работала сборка демонстрационной внешней обработки под Linux:
- Установить onescript;
- Добавить в PATH путь к актуальной версии платформы 1с.
Например, так:
sudo ln -s /opt/1cv8/x86_64/8.3.18.891/1cv8 /usr/local/bin/1cv8
Для отладки компоненты под Linux:
-
Закомментировать строку strip -s bin/libVanessaExt*.so в файле build.sh
-
В файле CMakeLists.txt заменить строку:
SET(CMAKE_BUILD_TYPE Release CACHE STRING "Build configurations" FORCE)
на:
SET(CMAKE_BUILD_TYPE Debug CACHE STRING "Build configurations" FORCE)
-
При необходимости удалить установленную ранее библиотеку в папке ~/.1cv8/1C/1cv8/ExtCompT/
Если в момент присоединения к процессу 1с возникает ошибка доступа, можно выполнить следующую инструкцию.
При разработке использовались библиотеки: