0% found this document useful (0 votes)
68 views6 pages

Build - OpenCPN - Update

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views6 pages

Build - OpenCPN - Update

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 6

../wxWidgets-3.2.

1/configure --disable-shared --enable-debug --enable-stl --with-


cxx=12 --with-macosx-version-min=10.12 --prefix="$(pwd)"

LD_LIBRARY_PATH=/usr/local/x86_64-w64-mingw32/lib
export LD_LIBRARY_PATH

cd wxWidgets-3.2.1
../configure --with-opengl --enable-unicode
export PATH=${PATH}:/usr/local/x86_64-w64-mingw32/bin
export PATH=${PATH}:/c/msys64/mingw64/bin

export PATH=${PATH}:/usr/local/x86_64-w64-mingw32/include/wx-3.2/wx

cmake -DwxWidgets_ROOT_DIR=/c/wxWidgets-3.2.1/build-mingw
-DwxWidgets_LIB_DIR=/c/wxWidgets-3.2.1/build-mingw/lib -G "MSYS Makefiles" -
DCMAKE_INSTALL_PREFIX=. ..

cmake -DwxWidgets_ROOT_DIR=C:/wxWidgets-3.2.1/build-mingw
-DwxWidgets_LIB_DIR=C:/wxWidgets-3.2.1/build-mingw/lib -G "MSYS Makefiles" ..

cmake -DwxWidgets_ROOT_DIR=/usr/local/x86_64-w64-mingw32
-DwxWidgets_LIB_DIR=/usr/local/x86_64-w64-mingw32/lib -G "MSYS Makefiles" ..

C:\msys64\usr\local\x86_64-w64-mingw32

cmake -DwxWidgets_ROOT_DIR:STRING=/c/wxWidgets-3.2.1
-DwxWidgets_LIB_DIR=/usr/local/x86_64-w64-mingw32/lib -
DwxWidgets_CONFIGURATION="mswu" -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX=. ..

C:\msys64\usr\local\x86_64-w64-mingw32\bin

-DwxWidgets_FIND_STYLE:STRING="win32"
-DwxWidgets_ROOT_DIR:STRING="C:/repos/git/wxWidgets" -
DwxWidgets_LIB_DIR:STRING="C:/repos/git/wxWidgets/lib/gcc_dll" -
DwxWidgets_CONFIGURATION="mswu"

C:\wxWidgets-3.2.1\build-mingw

C:\msys64\usr\local\x86_64-w64-mingw32\bin

C:\msys64\mingw64\bin

C:\msys64\ucrt64\bin
../configure --prefix=/usr/local/x86_64-w64-mingw32 --host=i686-w64-mingw32 --with-
opengl --enable-unicode --arch_build=x86_64 --disable-dependency-tracking

../configure --prefix=/usr/local/x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --


with-opengl --enable-unicode

cp -r /c/wxWidgets-3.2.1/build-mingw32/lib/*dll wxWidgets-mingw

cmake -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX=.


-DCMAKE_TOOLCHAIN_FILE=/c/OpenCPN/buildwin/Toolchain-mingw32.cmake ..

Toolchain-mingw32.cmake

C:\wxWidgets-3.2.1\build-mingw32\lib
tar xavf zlib-1.2.13.tar.gz
cd wxWidgets-3.2.1

set PATH=%PATH%;C:\Program Files (x86)\Poedit\GettextTools\bin

set PATH=%PATH%;C:\mingw32\bin

set PATH=%PATH%;C:\Program Files\CMake\bin

set PATH=%PATH%;C:\Users\DuongHaiThuan\source\Cmake\bin

set PATH=%PATH%;C:\MinGW\bin;C:\MinGW\MSYS\1.0\local\bin;C:\MinGW \MSYS\1.0\bin

cmake -G "Visual Studio 15 2017" -T v141_xp -DOCPN_BUILD_TEST=OFF ..

setx wxWIDGETS_ROOT_DIR "C:\wxWidgets-3.2.1\build-mingw"

setx wxWidgets_LIB_DIR "C:\wxWidgets-3.2.1\build-mingw\lib"

setx wxWidgets_LIB_DIR "C:\wxWidgets-2.8.12\build-mingw\lib"


C:\wxWidgets-2.8.12\include

wxWidgets_LIB_DIR

C:\wxWidgets-2.8.12\build-mingw\lib

setx WXDIR "C:\wxWidgets-2.8.12"

setx wxWIDGETS_ROOT_DIR "%USERPROFILE%\source\wxWidgets"

setx wxWIDGETS_ROOT_DIR "%USERPROFILE%\source\wxWidgets\build\msw"

C:\Users\DuongHaiThuan\source\wxWidgets\lib\vc_dll

setx wxWIDGETS_ROOT_DIR "%USERPROFILE%\source\wxWidgets\lib\vc_dll"

C:\Users\DuongHaiThuan\source\wxWidgets\build\msw

ogr2ogr -f "geojson" -oo SPLIT_MULTIPOINT=ON -oo ADD_SOUNDG_DEPTH=ON


soundings.geojson 00300000.Z SOUNDG

Build OpenCPN in Ubuntu-20.04 WSL Windows 10:

1. Get required programs

sudo apt-get install build-essential cmake gettext git gpsd gpsd-clients libgps-dev
wx-common libglu1-mesa-dev libgtk2.0-dev wx3.0-headers libbz2-dev libtinyxml-dev
libsndfile1-dev libportaudio2 portaudio19-dev libcurl4-openssl-dev libexpat1-dev
libcairo2-dev libarchive-dev liblzma-dev libexif-dev libelf-dev libsqlite3-dev

2. Optional: Remove old installation

sudo apt-get remove opencpn

3. Download source code

git clone https://github.com/OpenCPN/OpenCPN.git


4. # download wxWidgets 3.2.0 & extract it

wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.0/wxWidgets-
3.2.0.tar.bz2

bzip2 -d wxWidgets-3.2.0.tar.bz2
tar xvf wxWidgets-3.2.0.tar

+ build and install wxWidgets 3.2


cd wxWidgets-3.2.0
mkdir -p build-release
cd build-release
../configure --disable-debug_flag --with-gtk=3
make -j$(nproc) && sudo make install

5. Compile and install OpenCPN

cd OpenCPN

git pull

git clone https://github.com/wxWidgets/wxWidgets

To update an existing local copy, issue the following commands:

$ cd OpenCPN
$ git pull

4. Copy s52plib.cpp from OpenCPN/src to D: drive

sudo cp s52plib.cpp /mnt/d/

sudo cp ../src/s52plib.cpp /mnt/d/

sudo cp /mnt/d/s52plib.cpp ../src/

sudo cp /mnt/d/CMAP.tar /home/dht/

sudo cp -r /mnt/g/CM93 /home/dht/

tar xvf CMAP.tar

sudo rm -r CMAP.tar

5. Add code at library, //Multipoint Sounding

sudo apt-get install libssl-dev

4. Build it

$ cd OpenCPN //# unless already in this directory.//


$ mkdir build
$ cd build
$ cmake ../
$ make

C. Install Remote Desktop Protocol Server (xRDP) and Linux Desktop Manager (XFCE)
$ sudo apt install xrdp xfce4 openssh-server
$ sudo service xrdp start
$ sudo service ssh start

git clone https://github.com/[[email protected]]/opencpn.git

sudo apt-get install libgtk-3-dev


sudo apt-get install xterm
pkg-config \
build-essential \
git \
cmake \
libsqlite3-dev \
libssh-dev \
libedit-dev \
libhunspell-dev \
clang-format-12 \
xterm

mkdir -p devl
cd devl
# download wxWidgets 3.2.0 & extract it
wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.0/wxWidgets-
3.2.0.tar.bz2
bzip2 -d wxWidgets-3.2.0.tar.bz2
tar xvf wxWidgets-3.2.0.tar

# build and install it


cd wxWidgets-3.2.0
mkdir -p build-release
cd build-release
../configure --disable-debug_flag --with-gtk=3
make -j$(nproc) && sudo make install

sudo apt-get install build-essential cmake gettext git gpsd gpsd-clients libgps-dev
wx-common libwxgtk3.0-dev libglu1-mesa-dev libgtk2.0-dev wx3.0-headers libbz2-dev
libtinyxml-dev libportaudio2 portaudio19-dev libcurl4-openssl-dev libexpat1-dev
libcairo2-dev libarchive-dev liblzma-dev libexif-dev libelf-dev libsqlite3-dev

ogr2ogr -f "[filetype]" -oo SPLIT_MULTIPOINT=ON -oo ADD_SOUNDG_DEPTH=ON [output]


[input] SOUNDG

ogr2ogr -f "geojson" -oo SPLIT_MULTIPOINT=ON -oo ADD_SOUNDG_DEPTH=ON


soundings.geojson /home/dht/CM93/00300000/Z/00300000.Z SOUNDG

opencpn -h -p -fullscreen -no_opengl -rebuild_gl_raster_cache -parse_all_enc -


unit_test_1 0

sudo rm -r /usr/local/bin/opencpn

sudo rm -r /home/dht/OpenCPN/build

sudo cp DHT_out.txt /mnt/d/

sudo rm -r /home/dht/DHT_out.txt

sudo cp DHT_out.txt
/mnt/d/2022_LEGOS_MISSION/HOIAN_BATHY/OpenCPN_OUTPUT/DHT_out004.txt
cmake .. -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DwxBUILD_DEBUG_LEVEL=0 -
DwxBUILD_MONOLITHIC=1 -DwxBUILD_SAMPLES=SOME -DwxUSE_STL=1

cmake -B C:/Users/DuongHaiThuan/Source/OpenCPN/build -S . -
DCMAKE_TOOLCHAIN_FILE=C:/Users/DuongHaiThuan/vcpkg/scripts/buildsystems/vcpkg.cmake

cmake -G "Visual Studio 15 2017" -T v141_xp


-DCMAKE_TOOLCHAIN_FILE=C:/Users/DuongHaiThuan/vcpkg/scripts/buildsystems/
vcpkg.cmake ..

cmake .. -DCMAKE_TOOLCHAIN_FILE=C:/Users/DuongHaiThuan/vcpkg/scripts/buildsystems/
vcpkg.cmake

pacman -Ss mingw-w64-ucrt-x86_64-gcc

pacman -Ss jasper-dev

sudo cp /home/dht/OpenCPN/src/s52plib.cpp /mnt/d/2022_LEGOS_MISSION/HOIAN_BATHY/


sudo cp /home/dht/OpenCPN/src/cm93.cpp /mnt/d/2022_LEGOS_MISSION/HOIAN_BATHY/

sudo cp /home/dht/OpenCPN/src/cm93.cpp /mnt/d/

sudo cp /mnt/d/cm93.cpp /home/dht/OpenCPN/src/

sudo cp /mnt/d/2022_LEGOS_MISSION/HOIAN_BATHY/cm93.cpp /home/dht/OpenCPN/src/


sudo cp /mnt/d/2022_LEGOS_MISSION/HOIAN_BATHY/s52plib.cpp /home/dht/OpenCPN/src/

sudo cp /usr/local/bin/opencpn /mnt/d/2022_LEGOS_MISSION/HOIAN_BATHY/OpenCNP_bin


sudo rm -r /usr/local/bin/opencpn
sudo rm -r /home/dht/OpenCPN/build

$ sudo apt install xrdp xfce4 openssh-server


$ sudo service xrdp start
$ sudo service ssh start

sudo cp /usr/local/lib/opencpn /mnt/d/2022_LEGOS_MISSION/HOIAN_BATHY/OpenCNP_lib

sudo rm -r /home/dht/DHT_out.txt

sudo cp DHT_out.txt
/mnt/d/2022_LEGOS_MISSION/HOIAN_BATHY/OpenCPN_OUTPUT/DHT_out005.txt

sudo cp DHT_out.txt
/mnt/d/2022_LEGOS_MISSION/HOIAN_BATHY/OpenCPN_OUTPUT/DHT_out008.txt

sudo cp DHT_CM93_out.txt
/mnt/d/2022_LEGOS_MISSION/HOIAN_BATHY/OpenCPN_OUTPUT/DHT_CM93_out001.txt

$ cd OpenCPN //# unless already in this directory.//


$ mkdir build
$ cd build
$ cmake ../
$ sudo make install

sudo cp -R /home/dht/FVCOM31 /mnt/d/FVCOM/FVCOM

sudo rm -r /home/dht/DHT_CM93_out.txt
pass: 1

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
usr/local/lib

%% Ví dụ code:
%% Copy dữ liệu bản đồ vào Ubuntu để sử dụng vơi OpenCPN
sudo cp -r //mnt/c/CMAP/CM93 ./

%% Vào lại OpenCPN sẽ thấy dữ liệu về hải đồ toàn cầu...


%% Vừa rồi ta thấy là OpenCPN có thể load được hải đồ, tuy vậy chúng ta chỉ xem
được dữ liệu hải đồ
%% Ta cần lấy được dữ liệu độ sâu từ hải đồ...

%% Ta hiệu chỉnh code và biên tập lại...haha, compile code again...

find ./ -name "cm93.cpp"

find ./ -name "DUY_CM93_NhaTrang.txt"

%% Dada...giờ ta thấy một file text tên "DUY_CM93_NhaTrang.txt"


%% FIle này chứa dữ liệu LAT LON DEPTH...
%% Khi ta duyệt OpenCPN tới vùng nào nó sẽ có thông tin LAT LON DEPTH tới đó...
%% First Job DOne!
%% Copy file dữ liệu đấy ra ngoài Windows để làm gì thì làm...
sudo cp -r ./DUY_CM93_NhaTrang.txt /mnt/c/CMAP/

You might also like