gpt4 book ai didi

c++ - 配置文件引导的优化-__gcov

转载 作者:行者123 更新时间:2023-12-02 10:37:41 25 4
gpt4 key购买 nike

我正在尝试使用-fprofile-generate标志在我的代码上运行配置文件引导的优化。使用它进行编译时,出现以下错误。
obj\Debug\main.o||In function ZNSt10_HashtableIiSt4pairIKiiESaIS2_ENSt8__detail10_Select1stESt8equal_toIiESt4hashIiENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE5clearEv':|
c:\program files (x86)\gfortran\lib\gcc\mingw32\4.10.0\include\c++\bits\hashtable.h|1937|undefined reference to __gcov_indirect_call_profiler_v2'|
c:\program files (x86)\gfortran\lib\gcc\mingw32\4.10.0\include\c++\bits\hashtable.h|1937|undefined reference to __gcov_indirect_call_callee'|
c:\program files (x86)\gfortran\lib\gcc\mingw32\4.10.0\include\c++\bits\hashtable.h|1937|undefined reference to __gcov_time_profiler'|
c:\program files (x86)\gfortran\lib\gcc\mingw32\4.10.0\include\c++\bits\hashtable.h|1942|undefined reference to __gcov_one_value_profiler'|
c:\program files (x86)\gfortran\lib\gcc\mingw32\4.10.0\include\c++\bits\hashtable.h|1942|undefined reference to __gcov_average_profiler'|
c:\program files (x86)\gfortran\lib\gcc\mingw32\4.10.0\include\c++\bits\hashtable.h|1942|undefined reference to __gcov_ior_profiler'|

中还有其他错误消息,但它们均与__gcov相关

我无法在网上找到与此相关的任何内容。有人可以帮忙吗?
我在Windows上使用g++ 8.1.0,并使用-march=native-std=c++14-ffast-math标志。该程序无需-fprofile-generate标志就可以正常运行。

最佳答案

请尝试在我的问题末尾进行编辑:How can i get gcc profile guided optimizations to stop writing files after being 'optimized'?

编辑:nvm,我试图删除该标志,并且它在运行时而不是编译时崩溃。我不明白这应该怎么不写文件。

edit2:我发现了原因,可能与您的原因相同。

makefile'make clean'并没有从目录中清除所有.o文件,因此在配置文件采样构建(确实在LDFlags中使用gcov,或更确切地说是fprofile-generate将其拉入)和配置文件-优化版本中存在链接器尝试插入的剩余.o文件,因为源“未更改”,文件具有错误的依赖关系。

确保在第二次优化构建之前删除.o和.d文件。

关于c++ - 配置文件引导的优化-__gcov,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59544660/

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