首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GCC通行证注册- opt_pass未定义符号

GCC通行证注册- opt_pass未定义符号
EN

Stack Overflow用户
提问于 2017-03-10 11:37:05
回答 1查看 400关注 0票数 1

我正试图在我的gcc插件代码中注册一个密码。为此,我首先声明来自gimple_opt_pass的my_first_pass类,然后这个类派生于opt_pass等等.

代码语言:javascript
复制
class my_first_pass : public gimple_opt_pass
{
 public:
  my_first_pass(gcc::context * ctx) :
  gimple_opt_pass(my_first_pass_data, ctx)
 {}
};

然后,我尝试实例化一个my_first_pass对象,如下面的代码所示,同时配置register_pass_info结构的其余字段。

代码语言:javascript
复制
struct register_pass_info pass_info;
pass_info.pass = new my_first_pass(g/*gcc related global variable*/);
...

为了编译上述代码,我生成一个共享库,然后由gcc加载。每当我运行gcc时,我都会得到以下错误,我知道这是由于在上面的代码中创建my_first_pass对象造成的:

代码语言:javascript
复制
cc1plus: error: cannot load plugin ./plugin.so
./structsizes.so: undefined symbol: _ZTI8opt_pass

我正在学习一个在线示例,但是如果我运行$(GCC_SRC)/gcc/testsuite/gcc.dg/plugin/one_time_plugin.c,我就会遇到同样的问题。

(使用GCC 4.9.2来源)

提前谢谢,干杯。

编辑:在GCC 6.3.0上试过,我也有同样的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-12 16:49:40

我发现了这里的问题所在。

我只需要在编译插件时添加以下选项:-fno

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42717464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档