ACE 6.1.2 编译问题

本文详细描述了一个使用ACE库的程序在从6.1.2版本降级到6.1.0版本后成功编译的问题。讨论了在不同ACE版本中遇到的编译错误,并分析了原因。提供了解决该问题的方法,帮助开发者避免类似问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一段简单的测试代码

#include <stdio.h>
#include "ace/Log_Msg.h"
#include "ace/OS_main.h"

int main0() {
	cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
	return 0;
}


int ACE_TMAIN(int arg,ACE_TCHAR *argv[])
{
	ACE_DEBUG( (LM_DEBUG,ACE_TEXT("Hello\n")));
	return 0;
}

在FC16 ACE6.0.2编译通过,但升级到6.1.2就编译失败了,似乎此版本有问题


Building target: Test
Invoking: GCC C++ Linker
g++  -o "Test"  ./src/Test.o   -lACE
./src/Test.o: In function `main':
/home/flyspace/workspace/Test/Debug/../src/Test.cpp:24: undefined reference to `ACE_Log_Msg::last_error_adapter()'
/home/flyspace/workspace/Test/Debug/../src/Test.cpp:24: undefined reference to `ACE_Log_Msg::instance()'
/home/flyspace/workspace/Test/Debug/../src/Test.cpp:24: undefined reference to `ACE_Log_Msg::conditional_set(char const*, int, int, int)'
/home/flyspace/workspace/Test/Debug/../src/Test.cpp:24: undefined reference to `ACE_Log_Msg::log(ACE_Log_Priority, char const*, ...)'
collect2: ld 返回 1
make: *** [Test] 错误 1


降级到版本6.1.0 再次编译 通过!

由此确认6.1.2版本确实有问题!

真晕,折腾了我一天时间!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值