相关疑难解决方法(0)

如何与GCC进行弱连接工作?

似乎有3种方法告诉GCC弱连接符号:

  • __attribute__((weak_import))
  • __attribute__((weak))
  • #pragma weak symbol_name

这些都不适合我:

#pragma weak asdf
extern void asdf(void) __attribute__((weak_import, weak));
...
{
    if(asdf != NULL) asdf();
}
Run Code Online (Sandbox Code Playgroud)

我总是得到这样的链接错误:

Undefined symbols:
  "_asdf", referenced from:
      _asdf$non_lazy_ptr in ccFA05kN.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

我在OS X 10.5.5上使用GCC 4.0.1.我究竟做错了什么?

c linker gcc weak

23
推荐指数
4
解决办法
4万
查看次数

标签 统计

c ×1

gcc ×1

linker ×1

weak ×1