如何用qcc编译工程

问题描述 投票:0回答:0

我在 Ubuntu 20.4.6 上,我尝试使用 qcc QNX 编译器编译 OpenCV。在 OpenCV build from source instructions 中,他们使用以下命令生成他们的构建文件:

cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DINSTALL_C_EXAMPLES=ON \
-DINSTALL_PYTHON_EXAMPLES=ON \
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DOPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_EXAMPLES=ON ..

我想添加 C 编译器和 CXX 编译器标志(CMake)以指示 CMake 使用 qcc 编译器生成,如下所示:

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=qcc -DCMAKE_CXX_COMPILER=qcc \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DINSTALL_C_EXAMPLES=ON \
-DINSTALL_PYTHON_EXAMPLES=ON \
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DOPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_EXAMPLES=ON ..

当我尝试运行 make 命令以启动构建过程时,我收到许多错误和警告,最终构建失败。我也尝试使用忍者,但同样的事情发生了。

错误示例:

[ 13%] Building CXX object modules/ml/CMakeFiles/opencv_ml.dir/src/gbt.cpp.o
/usr/bin/ld: /home/user/qnx710/target/qnx7/x86_64/lib/libc.so: warning: the use of `pthread_attr_setstackaddr' is deprecated, use `pthread_attr_setstack'
/usr/bin/ld: /home/user/qnx710/target/qnx7/x86_64/lib/libc.so: warning: the use of `pthread_attr_getstackaddr' is deprecated, use `pthread_attr_getstack'
[ 13%] Building CXX object modules/imgproc/CMakeFiles/opencv_imgproc.dir/src/accum.dispatch.cpp.o
/usr/bin/ld: /home/user/qnx710/target/qnx7/x86_64/lib/libc.so: warning: The 'mktemp' function is dangerous. Use 'mkstemp' instead.
/usr/bin/ld: CMakeFiles/opencv_version.dir/opencv_version.cpp.o: undefined reference to symbol '__printf_chk@@GLIBC_2.3.4'
/usr/bin/ld: /lib/x86_64-linux-gnu/libc.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
apps/version/CMakeFiles/opencv_version.dir/build.make:103: recipe for target 'bin/opencv_version' failed
make[2]: *** [bin/opencv_version] Error 1
CMakeFiles/Makefile2:19706: recipe for target 'apps/version/CMakeFiles/opencv_version.dir/all' failed
make[1]: *** [apps/version/CMakeFiles/opencv_version.dir/all] Error 2
[ 15%] Built target opencv_imgproc
Makefile:165: recipe for target 'all' failed
make: *** [all] Error 2

有人知道如何在项目上使用 qcc QNX 编译器,或者是否有更好的兼容开源项目可以用 qcc 起诉?

c++ c opencv qnx qcc
© www.soinside.com 2019 - 2024. All rights reserved.