gpt4 book ai didi

c++ - cc1plus.exe : error: unrecognized command line option '-fdump-class-hierarchy' with CMake

转载 作者:行者123 更新时间:2023-11-30 04:53:00 26 4
gpt4 key购买 nike

我正在尝试将我的 C++ 程序的每个类的层次结构和虚函数表布局的表示转储到一个文件中。当我使用这个选项从命令行编译它时,我成功地做到了:

g++ -fdump-class-hierarchy main.cpp

我现在的问题是,当我尝试使用 cmake 实现它时,我失败了。从未使用过选项 -fdump-class-hierarchy。这是我的 CmakeList.txt

cmake_minimum_required(VERSION 3.10.2)
project(VTable)
set(CMAKE_CXX_STANDARD 14)
find_path(GCC_PATH g++.exe)
message("GCC_PATH = ${GCC_PATH}")
set(CMAKE_CXX_COMPILER "${GCC_PATH}/g++")
set(CMAKE_CXX_FLAGS "-std=c++11 -Wall -Wno-unused-variable -fdump-class-hierarchy")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
set(CMAKE_CXX_FLAGS_RELEASE "-O2")
add_executable(VTable main.cpp Grandparent.cpp Parent1.cpp Parent2.cpp Child.cpp)

谁能帮我从 CmakeList.txt 中获取转储文件输出。顺便问一下,有没有人知道任何只转储我的类代码的方法

这是问题输出

"C:\Program Files\JetBrains\CLion 2018.2.4\bin\cmake\win\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - MinGW Makefiles" "path"
GCC_PATH = C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin
-- Configuring done
-- Generating done
-- Build files have been written to: path/cmake-build-debug

Problems were encountered while collecting compiler information:
cc1plus.exe: error: unrecognized command line option '-fdump-class-hierarchy'

[Finished]

我正在使用 CLion IDE

最佳答案

您的 CLion/CMake 构建调用 GCC g++ 8.1 的 mingw-w64 端口。 C++ 编译器选项 -fdump-class-hierarchyavailable in GCC 7.x更早但是 removed in GCC 8.x .这就是为什么:

cc1plus.exe: error: unrecognized command line option '-fdump-class-hierarchy'

在您的 CLion 构建中。如果控制台命令行:

g++ -fdump-class-hierarchy main.cpp

成功然后它从不同的地方调用了不同的早期版本的g++GCC 安装 - 可能在您的 PATH 中比 C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin 更早发现/g++.exe,或者可能是在另一台计算机上发现的(因为您没有声明它是您的 CLion 构建失败的同一台)。

关于c++ - cc1plus.exe : error: unrecognized command line option '-fdump-class-hierarchy' with CMake,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54021902/

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