Ubuntu - dołączenie bilblioteki przy kompilacji c++

0

Cześć, nie mam zbytnio doświadczenia z linuxem, a muszę zrobić projekt na komputerze z kartą od Nvidii. Korzystam z uczelnianego serwera, więc nie mam dostępu do sudo. Zainstalowałem OpenCV za pomocą cmake w moim folderze /home/username/local i teraz nie wiem jak dołączyć pliki do projektu.
W pliku c++

#include "opencv2/opencv.hpp"

Błąd:
nvcc sobel.cu

sobel.cu:6:30: fatal error: opencv2/opencv.hpp: Nie ma takiego pliku ani katalogu
compilation terminated

Próbowałem już kompilować za pomocą: nvcc sobel.cu -I /home/username/local/include/opencv4/opencv2

Dodałem w nagłówku #include bezpośrednią ściężkę /home/username/local/include/opencv4/opencv2/opencv.hpp
jednak wtedy nie wczytuje kolejnego pliku i dostaję błąd:

fatal error: opencv2/opencv_modules.hpp: Nie ma takiego pliku ani katalogu
compilation terminated.

W bashr też próbowałem:

export PATH="/home/username/local/include/opencv4/opencv2:$PATH"
export LD_LIBRARY_PATH="/home/username/local/include/opencv4/opencv2:$LD_LIBRARY_PATH"

Domyślam się że istnieje prosty sposób, ale próbowałem już różnych sztuczek ze stackoverflow, a na linuxie zerowe doświadczenie. Z góry dziękuję za każdą pomoc

2

#include "opencv2/opencv.hpp"

A nie #include <opencv2/opencv.hpp>?

Próbowałem już kompilować za pomocą: nvcc sobel.cu -I /home/username/local/include/opencv4/opencv2

Może raczej: nvcc -I/home/username/local/include/opencv4 sobel.cu?
https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#file-and-path-specifications-include-path

A tak prościej to można użyć pkg-config, o ile jest dostępny.

export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}${PKG_CONFIG_PATH:+:}/home/username/local/lib/pkgconfig"
nvcc $( pkg-config --cflags opencv4 ) sobel.cu

https://askubuntu.com/questions/210210/pkg-config-path-environment-variable

1

@PieciaJunior:
Jeśli do stworzenia projektu używasz CMake'a to w projekcie dopisujesz

find_package(OpenCV REQUIRED 3)

Dodatkowo, ponieważ nie masz zainstalowanego OpenCV w systemie, tylko lokalnie, to przy budowaniu projektu, robisz:

cmake <source-path> -DCMAKE_PREFIX_PATH=/home/username/local

1 użytkowników online, w tym zalogowanych: 0, gości: 1