开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Borland C++Builder 编译ACE经验

简介:
+关注继续查看

最近在研究ACE,买了本《ACE程序员指南》,例子程序竟然没有编译通过,链接不上。

int ACE_TMAIN (int, ACE_TCHAR *[])
{
  ACE_TRACE (ACE_TEXT ("main"));

  ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%IHi Mom/n")));

  ACE_OSTREAM_TYPE *output =
    new std::ofstream ("ostream.output.test");
//  ACE_LOG_MSG->msg_ostream (output, 1);
  ACE_LOG_MSG->set_flags (ACE_Log_Msg::OSTREAM);
  ACE_LOG_MSG->clr_flags (ACE_Log_Msg::STDERR);

  ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnight/n")));

  return 0;
}

如果不注释掉,link就会失败,

[Linker Error] Unresolved external 'ACE_Log_Msg::msg_ostream(_STL::basic_ostream<char, _STL::char_traits<char> > *, int)' referenced from D:/BORLAND/CBUILDER6/PROJECTS/ACE/LOGGING/USE_OSTREAM.OBJ

注释掉就没问题。这可是《ACE程序员指南》里的例子程序,怎么还有这种问题?

到出寻找答案,都没有结果。最后还是自己解决,原来是BCB5,BCB6共存造成的。
在命令行使用make的时候调用的路径BCB5在前面,所以生成的ace_b.dll是BCB5的,到了BCB6里面就会出错。
修改了路径配置,分别生成了BCB5和BCB6的ace_b.dll,再编译运行出错程序,就一切正常了。

另外还有一个链接错误需要$(BCB)/Lib/psdk/ws2_32.lib ,如下

[Linker Error] Unresolved external 'WSAEventSelect' referenced from D:/BORLAND/CBUILDER6/PROJECTS/ACE/REACTOR/CLIENT.OBJ



本文转自leonpard 51CTO博客,原文链接:http://blog.51cto.com/leonpard/1172667

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C#系列之String和StringBuilder
C#系列之String和StringBuilder
38 0
Should we still build application buffer on top of CDS view
Should we still build application buffer on top of CDS view
25 0
erlang高性能网络库esockd的编译和使用(二)-application
erlang高性能网络库esockd的编译和使用(二)-application
77 0
AI神经网络激活函数sigmoid及matlab的sigmf
AI神经网络激活函数sigmoid及matlab的sigmf 神经网络中引入激活函数sigmoid作用是逻辑回归(logistic regression),引入非线性化。
1883 0
Modern source-to-source transformation with Clang and libTooling
Modern source-to-source transformation with Clang and libTooling May 1st, 2014 at 7:08 pm I couple of years ago I publish...
1424 0
Using Microsoft Visual C++ DLLs with C++Builder
摘自《Borland C++BuilderT 6 Developer's Guide》  一书 Using Microsoft Visual C++ DLLs with C++Builder As powerful as C++Builder is, the majority of DLLs d...
911 0
漫谈C++ Builder多线程编程技术
 摘 要:本文简单介绍了Windows环境下进行多线程编程的意义,重点讨论了C++Builder环境下开发多线程应用程序这一问题,并通过实现生产者-消费者问题,帮我们更好地理解同步概念及其实现方法。
787 0
23703
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载