首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • MinGW+MSYS下的ACE例程编译不通过。。。。 [已结贴,结贴人:iorikingdom]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • iorikingdom
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-19 08:37:34 楼主
    ACE编译成功,生成libACE.a等等几个静态链接库文件

    程序,LD_LIBRARY_PATH
    路径设置/G/ACE_wrappers/lib

    C/C++ code
    #include "ace/OS_main.h" #include "ace/Log_Msg.h" int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { ACE_DEBUG((LM_DEBUG,"Hello world\n")); return 0; }


    编译
    g++ -c Test.cpp
    生成Test.o成功

    g++ -o Test Test.o -static -lACE
    连接不上静态链接库,两台机都是这个问题,郁闷啊

    Test.o:Test.cpp:(.text+0x83): undefined reference to `_imp___ZN13ACE_Main_Base3runEiPPc'
    Test.o:Test.cpp:(.text+0x103): undefined reference to `_imp___ZN11ACE_Log_Msg18last_error_adapterEv'
    Test.o:Test.cpp:(.text+0x10d): undefined reference to `_imp___ZN11ACE_Log_Msg8instanceEv'
    Test.o:Test.cpp:(.text+0x13c): undefined reference to `_imp___ZN11ACE_Log_Msg15conditional_setEPKciii'
    Test.o:Test.cpp:(.text+0x159): undefined reference to `_imp___ZN11ACE_Log_Msg3logE16ACE_Log_PriorityPKcz'
    Test.o:Test.cpp:(.text+0x179): undefined reference to `_imp___ZN14ACE_Time_Value4zeroE'
    Test.o:Test.cpp:(.text+0x192): undefined reference to `_imp___ZN14ACE_Time_Value8max_timeE'
    Test.o:Test.cpp:(.text$_ZN8ACE_MainD1Ev[ACE_Main::~ACE_Main()]+0x16): undefined reference to `_imp___ZN13ACE_Main_BaseD2Ev'
    Test.o:Test.cpp:(.text$_ZN8ACE_MainC1Ev[ACE_Main::ACE_Main()]+0xd): undefined reference to `_imp___ZN13ACE_Main_BaseC2Ev'
    Test.o:Test.cpp:(.text$_ZN8ACE_MainD0Ev[ACE_Main::~ACE_Main()]+0x16): undefined reference to `_imp___ZN13ACE_Main_BaseD2Ev'
    collect2: ld returned 1 exit status


    哪位有经验的兄弟支支招啊。。。。,痛苦了两天了

    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xkyx_cn
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

    发表于:2008-08-19 09:03:001楼 得分:20
    路径设置./G/ACE_wrappers/lib , 应该是相对路径吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • iorikingdom
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 09:11:282楼 得分:0

    我用
    cd $LD_LIBRARY_PATH 可以正常切换到lib的目录下面

    那应该怎么设好呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • iorikingdom
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 09:23:593楼 得分:0
    晕,不是编译环境问题,是ACE的问题
    在config.h添加了
    #define ACE_AS_STATIC_LIBS 1
    然后
    make static_libs=1

    再编译一次
    就可以了,但是在官方网站上面
    #define ACE_AS_STATIC_LIBS 1
    这个选项是没有说明一定要的

    make static_libs=1
    这个倒是说了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • iorikingdom
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 09:33:174楼 得分:0
    晕,编出来的程序需要动态链接库。。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lkbl123
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 12:24:325楼 得分:0
    路过,帮不上什么忙,不好意思啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lkbl123
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 12:26:016楼 得分:0
    路过,帮不上什么忙,不好意思啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • iorikingdom
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 14:26:007楼 得分:0
    UP
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jdifjoifj
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 08:46:318楼 得分:20
    这个问题我以前也接触过,开始的时候我也找不到问题的原因,后来我进了一个技术交

    流群,这个群里的人挺多的,在里面可以沟通技术,你可以进去看一下.群号是:四+三+

    四+八+零+零+七+一。另外,这个群里可以接项目。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ztz0223
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 08:54:569楼 得分:20
    你这个玩意我没有用过
    linux和windows下的我都用过没有问题的
    你看看我的一个文章
    就是关于ace的编译设置的:
    http://blog.csdn.net/ztz0223/archive/2008/04/16/2298634.aspx
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangdeqie
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 23:09:3810楼 得分:0
    楼主的头像很可爱^_^
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wufaqiang
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-26 23:09:0011楼 得分:20
    如果是在windows下的话好像要加上一个环境变量g:\ACE_wrappers\lib
    编译命令改成g++ -o Test Test.o -static -llibACE

    如果是在UNIX环境下
    编译命令改成g++ L/G/ACE_wrappers/lib -o Test Test.o -static -llibACE

    你尝试一下吧~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nanyu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-10 16:23:2912楼 得分:20
    我有编译通过,并可以使用的,但g++必须是3.x版本的.
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved