吾安装系统的时候,一切顺利。后来……可能是把用户名改了一下?原来好好的系统,彻底不能用了——编译都无法通过。
好不容易把ffmpeg、opencv编译过,结果链接又出了问题。
./libgh2kalman.so:对‘cv::randn(cv::_InputOutputArray const&, cv::_InputArray const&, cv::_InputArray const&)’未定义的引用 ./libgh2kalman.so:对‘cv::String::deallocate()’未定义的引用 ./libgh2kalman.so:对‘cv::error(int, cv::String const&, char const*, char const*, int)’未定义的引用 ./libgh2kalman.so:对‘cv::String::allocate(unsigned long)’未定义的引用 ./libgh2kalman.so:对‘cv::setIdentity(cv::_InputOutputArray const&, cv::Scalar_<double> const&)’未定义的引用 collect2: error: ld returned 1 exit status Makefile:42: recipe for target 'gh_main' failed make: *** [gh_main] Error 1
反复检查,都没有发现错误。错误顺序如下如下:
LIBS :=-L/usr/local/deepstream/ -lgstnvdsmeta \ -L. -lfastwrite \ -L. -lgh2secustream -lgh2jpegnpp -lgh2mqtt -lgh2mysql -lgh2nvidia -lgh2trace -lgh2kalman \ -L ../gh-kit -lgh2kit \ -L /usr/lib/ -ljpeg -llmdb \ -L /usr/lib/x86_64-linux-gnu -lgfapi -lgstapp-1.0 -lmysqlclient \ -L /usr/local/cuda/lib64/ -lcudart -lnppisu -lnppicom -lnppig -lnppc \ -L /usr/local/lib -lpaho-mqtt3a -lpaho-mqtt3c -ljson-c \ -L /usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_imgproc -lopencv_highgui \
后来把顺序调整了,顺利编过。正确的顺序如下:
LIBS :=-L/usr/local/deepstream/ -lgstnvdsmeta \ -L. -lfastwrite \ -L /usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_imgproc -lopencv_highgui \ -L. -lgh2secustream -lgh2jpegnpp -lgh2mqtt -lgh2mysql -lgh2nvidia -lgh2trace -lgh2kalman \ -L ../gh-kit -lgh2kit \ -L /usr/lib/ -ljpeg -llmdb \ -L /usr/lib/x86_64-linux-gnu -lgfapi -lgstapp-1.0 -lmysqlclient \ -L /usr/local/cuda/lib64/ -lcudart -lnppisu -lnppicom -lnppig -lnppc \ -L /usr/local/lib -lpaho-mqtt3a -lpaho-mqtt3c -ljson-c