找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 6944|回复: 19

ACE初学者请教链接错误问题!

[复制链接]
发表于 2009-9-20 17:33:28 | 显示全部楼层 |阅读模式
我是ACE的初学者。尝试在debug模式编译"hello world"之前,我已经设置了ACE_ROOT环境变量,VS05中也已在库文件选项中添加了ACE_ROOT\lib,且已经在工程中加入了aced.lib库,但编译器仍在链接阶段报错:
error LNK2019: 无法解析的外部符号 "public: int __thiscall ACE_Main_Base::run(int,char * * const)" ([email=?run@ACE_Main_Base@@QAEHHQAPAD@Z]?run@ACE_Main_Base@@QAEHHQAPAD@Z[/email]),该符号在函数 _main 中被引用
类似错误共15个。
想请高手指点,哪里还有问题呢?

[ 本帖最后由 danielyan86129 于 2009-9-20 17:37 编辑 ]
发表于 2009-9-20 18:49:57 | 显示全部楼层
显然是你库 加的不够多,
建议你把 所有 /lib 下的 库都 加上 ,就可以了

简单的方法是
开始->运行 -> cmd

cd $ACE_ROOT\lib
dir /b *.lib >lib.txt          /*这一步是为了 列表 所有*.lib 并且重定向到 lib.txt 文件*/
打开 lib.txt 文件 拷贝出所有 然后加到 工程中
 楼主| 发表于 2009-9-20 19:00:56 | 显示全部楼层
不行不行,你这样的思路不能解决问题的。

[ 本帖最后由 danielyan86129 于 2009-9-20 19:05 编辑 ]
发表于 2009-9-20 19:09:17 | 显示全部楼层
可是 几乎可以肯定 就是因为 你没有用对 lib
我也是初学者,面对大量的 lib 你要么 逐一测试 ,要么都加上
至少 用我的方法 ,你可以很快确定 是否 是因为 没有用对lib
如果都加上了 还是报错 说明 是别的问题
如果不报错了,说明是你用错了库,那你再 找正确的库
 楼主| 发表于 2009-9-20 19:31:47 | 显示全部楼层
可是ACE_ROOT\lib下根本就没有“大量”的lib啊,也就是aced.lib, ace.lib, ace_qosd.lib,这些我都试过了。而且网上回答这样的问题的人除了让加aced.lib或者ace.lib外,也没有什么别的建议啊。
发表于 2009-9-20 19:38:40 | 显示全部楼层
看来是你 没有将 ace 编译完,
我的 lib 下有 115 个 lib

我是这样编译我的 ace 的
先编译 $ACE_ROOT\ace  下的
再编译 $ACE_ROOT\TAO 下的

这两个基本就 可以用了对于初学者,
不知是否对你够用
 楼主| 发表于 2009-9-20 19:41:24 | 显示全部楼层
恩,我是编译了\ace下的,但是没有编译\TAO下面的。我试试。
 楼主| 发表于 2009-9-20 19:44:10 | 显示全部楼层
你的\ace下的编译完后生产几个lib了?
发表于 2009-9-20 19:48:14 | 显示全部楼层
我没有数,但是 \ace下 貌似 只有5个工程
而 TAO下 貌似有 150多个也许是 160多个 项目,没太注意
 楼主| 发表于 2009-9-20 22:20:41 | 显示全部楼层
我在编译qos的时候出现了连接问题:
QoS_Decorator.obj : error LNK2019: 无法解析的外部符号 "public: virtual __thiscall ACE_Event_Handler::~ACE_Event_Handler(void)" (??1ACE_Event_Handler@@UAE@XZ),该符号在函数 "public: virtual __thiscall ACE_QoS_Decorator_Base::~ACE_QoS_Decorator_Base(void)" (??1ACE_QoS_Decorator_Base@@UAE@XZ) 中被引用
qos的工程设置中显示它依赖aced.lib,而我之前已经将ace编译好了。请问高手哪里出了问题??
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-12-23 13:26 , Processed in 0.022114 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表