gpt4 book ai didi

c++ - 为什么在指定 -std=gnu++11 时使用 C++98?

转载 作者:行者123 更新时间:2023-11-28 02:47:43 26 4
gpt4 key购买 nike

<分区>

我正在尝试编译一个应用程序,我在 CMakeLists.txt

中添加了这些行
option(DISPLAY "Display images and steps" OFF)
option(TESTS "Build tests too" OFF)

if (DISPLAY)
set(CMAKE_CXX_FLAGS "-g -Wall -std=gnu++11 -DDISPLAY_IMGS")
else()
set(CMAKE_CXX_FLAGS "-g -Wall -std=gnu++11")
endif()

(这些行在文件的开头)我收到这样的错误:

In function ‘int main(int, char**)’:
error: in C++98 ‘featuresTypes’ must be initialized by constructor, not by ‘{...}’

谁能告诉我它为什么这样做?事实上,在 KDevelop 中构建它工作正常,但在终端中构建它($ cmake ..$ make),它给出了那个错误。


VERBOSE=1 说:

/usr/bin/cmake -H/home/xxx/proj/prj1 -B/home/xxx/proj/prj1/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/xxx/proj/prj1/build/CMakeFiles /home/xxx/proj/prj1/build/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/home/xxx/proj/prj1/build'
make -f CMakeFiles/prj1.dir/build.make CMakeFiles/prj1.dir/depend
make[2]: Entering directory `/home/xxx/proj/prj1/build'
cd /home/xxx/proj/prj1/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/xxx/proj/prj1 /home/xxx/proj/prj1 /home/xxx/proj/prj1/build /home/xxx/proj/prj1/build /home/xxx/proj/prj1/build/CMakeFiles/prj1.dir/DependInfo.cmake --color=
Dependee "/home/xxx/proj/prj1/build/CMakeFiles/optimisation.dir/DependInfo.cmake" is newer than depender "/home/xxx/proj/prj1/build/CMakeFiles/prj1.dir/depend.internal".
Dependee "/home/xxx/proj/prj1/build/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/xxx/proj/prj1/build/CMakeFiles/prj1.dir/depend.internal".
Scanning dependencies of target optimisation
make[2]: Leaving directory `/home/xxx/proj/prj1/build'
make -f CMakeFiles/optimisation.dir/build.make CMakeFiles/prj1.dir/build
make[2]: Entering directory `/home/xxx/proj/prj1/build'
/usr/bin/cmake -E cmake_progress_report /home/xxx/proj/prj1/build/CMakeFiles 1
[ 12%] Building CXX object CMakeFiles/prj1.dir/src/cpp/main.cpp.o
/usr/bin/c++ -I/usr/local/include/opencv -I/usr/local/include -I/home/xxx/proj/prj1/src/hpp -o CMakeFiles/prj1.dir/src/cpp/main.cpp.o -c /home/xxx/proj/prj1/src/cpp/main.cpp
/home/xxx/proj/prj1/src/cpp/main.cpp: In function ‘int main(int, char**)’:
/home/xxx/proj/prj1/src/cpp/main.cpp:99:33: error: in C++98 ‘featuresTypes’ must be initialized by constructor, not by ‘{...}’

它应该做什么?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com