加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Poco C中未定义的符号

发布时间:2020-12-16 07:09:19 所属栏目:百科 来源:网络整理
导读:我之前编译了一个简单的命令行程序,它使用了Poco C(我喜欢顺便说一下).该计划运行了好几个月. 我的计算机上必须更改一些内容,因为现在当我运行程序时,我收到以下错误. dyld: Symbol not found: __ZN4Poco4Util11Application12handleOptionERKNSt3__112basic_
我之前编译了一个简单的命令行程序,它使用了Poco C(我喜欢顺便说一下).该计划运行了好几个月.

我的计算机上必须更改一些内容,因为现在当我运行程序时,我收到以下错误.

dyld: Symbol not found: __ZN4Poco4Util11Application12handleOptionERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_
  Referenced from: /Users/me/bin/sqlmerge
  Expected in: /usr/local/opt/poco/lib/libPocoUtil.16.dylib
 in /Users/me/bin/sqlmerge

有人能告诉我为什么会这样吗?我使用Poco 1.4.6编译并使用Poco 1.4.6运行,尽管由于某种原因Poco在我的计算机上丢失,我不得不重新安装brew install poco(我显然是在Mac上运行它).

编辑:我不确定原因,但重新启动–c 11选项打开修复此问题.例如.:

brew install poco --c++11

也许C名称从旧版本的C标准稍微改变为C 11?

解决方法

C没有应用程序二进制接口.这导致了许多令人头疼的问题,包括强迫人们在升级编译器版本时重新编译.相同的编译器,不同的版本,不同的名称.这就是大多数库都有C接口的原因.由于历史原因,C接口在所有已知平台上都具有稳定的名称.

http://morpher.com/documentation/articles/abi/
C++ ABI issues list

Herb Sutter为C提出了一个稳定的平台ABI.所以可能会有帮助:-)

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4028.pdf

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读