免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 方兆国
打印 上一主题 下一主题

[C++] Boost库安装好后代码编译出错,无错误行 [复制链接]

论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-04-17 11:19:51CU大牛徽章
日期:2013-04-17 11:19:42CU大牛徽章
日期:2013-04-17 11:19:37CU大牛徽章
日期:2013-04-17 11:19:32CU大牛徽章
日期:2013-04-17 11:19:28
11 [报告]
发表于 2013-07-12 15:10 |只看该作者
reiase 发表于 2013-07-12 15:06
回复 1# 方兆国


在Eclipse可以看到Boost的头文件,而且程序报错并没有指向文本
我感觉是自己不会用boost,不知道哪位用过boost,给说一下需要注意的地方

论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-04-17 11:19:51CU大牛徽章
日期:2013-04-17 11:19:42CU大牛徽章
日期:2013-04-17 11:19:37CU大牛徽章
日期:2013-04-17 11:19:32CU大牛徽章
日期:2013-04-17 11:19:28
12 [报告]
发表于 2013-07-12 15:15 |只看该作者
reiase 发表于 2013-07-12 15:06
回复 1# 方兆国



这是release的报错
  1. 15:12:03 **** Incremental Build of configuration Release for project RegexBoost ****
  2. Info: Internal Builder is used for build
  3. g++ -O3 -Wall -c -fmessage-length=0 -o fangzhaoguo.o "..\\fangzhaoguo.cpp"
  4. g++ -o RegexBoost.exe fangzhaoguo.o
  5. fangzhaoguo.o:fangzhaoguo.cpp:(.text+0xc80): undefined reference to `boost::regex_error::regex_error(std::string const&, boost::regex_constants::error_type, long long)'
  6. fangzhaoguo.o:fangzhaoguo.cpp:(.text+0xc88): undefined reference to `boost::regex_error::raise() const'
  7. fangzhaoguo.o:fangzhaoguo.cpp:(.text+0xc90): undefined reference to `boost::regex_error::~regex_error()'
  8. fangzhaoguo.o:fangzhaoguo.cpp:(.text+0xcd8): undefined reference to `boost::regex_error::~regex_error()'
  9. d:/program files/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw32/bin/ld.exe: fangzhaoguo.o: bad reloc address 0x3 in section `.text$_ZN5boost16exception_detail10clone_baseD1Ev[_ZN5boost16exception_detail10clone_baseD1Ev]'
  10. collect2.exe: error: ld returned 1 exit status

  11. 15:12:15 Build Finished (took 12s.280ms)

复制代码
这是release的截屏

论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-04-17 11:19:51CU大牛徽章
日期:2013-04-17 11:19:42CU大牛徽章
日期:2013-04-17 11:19:37CU大牛徽章
日期:2013-04-17 11:19:32CU大牛徽章
日期:2013-04-17 11:19:28
13 [报告]
发表于 2013-07-12 15:20 |只看该作者
reiase 发表于 2013-07-12 15:06
回复 1# 方兆国


我也感觉是系统环境变量设置的有问题,可是,我都是设置完系统环境变量之后启动的Eclipse,然后新建的工程
  1. BOOST_ROOT=D:\Program Files\Boost
  2. CPLUS_INCLUDE_PATH=D:\Program Files\mingw\include;D:\Program Files\mingw\lib\gcc\x86_64-w64-mingw32\4.8.1\include;D:\Program Files\mingw\x86_64-w64-mingw32\include;D:\Program Files\MariaDB\Connect-C\mariadbclient\include;D:\Program Files\Boost\include\boost-1_53;;D:\Program Files\mingw\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++;
  3. C_INCLUDE_PATH=D:\Program Files\mingw\include;D:\Program Files\mingw\lib\gcc\x86_64-w64-mingw32\4.8.1\include;D:\Program Files\mingw\x86_64-w64-mingw32\include;D:\Program Files\MariaDB\Connect-C\mariadbclient\include;D:\Program Files\Boost\include\boost-1_53;
  4. LIBRARY_PATH=D:\Program Files\mingw\lib;D:\Program Files\mingw\lib\gcc\x86_64-w64-mingw32\4.8.1;D:\Program Files\mingw\x86_64-w64-mingw32\lib;D:\Program Files\MariaDB\Connect-C\lib;D:\Program Files\Boost\lib;
复制代码
MinGW的肯定没有问题,就是boost的,dll和dll.a都在lib下面,就算是动态连接库,我把D:\Program Files\Boost\lib;放在path下还是不可以

论坛徽章:
0
14 [报告]
发表于 2013-07-12 15:22 |只看该作者
回复 12# 方兆国


ld的error,说明代码编译通过,但是链接未通过,可能的问题是:

1. 少库
2. 有库,但是函数名mangling规则不一样,造成找不到函数的实现
3. 函数要求链接时生成代码,但是链接器没能很好支持

问题应该还是出在工具链上

论坛徽章:
0
15 [报告]
发表于 2013-07-12 15:23 |只看该作者
回复 13# 方兆国


是不是构建系统检测系统环境时候,作了错误的判断,启用了没有的特性

论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-04-17 11:19:51CU大牛徽章
日期:2013-04-17 11:19:42CU大牛徽章
日期:2013-04-17 11:19:37CU大牛徽章
日期:2013-04-17 11:19:32CU大牛徽章
日期:2013-04-17 11:19:28
16 [报告]
发表于 2013-07-12 15:26 |只看该作者
reiase 发表于 2013-07-12 15:22
回复 12# 方兆国


额,是不是编译boost产生的库得把名字改了……

论坛徽章:
0
17 [报告]
发表于 2013-07-12 15:28 |只看该作者
回复 16# 方兆国


    gcc工具链用.a静态库,vc只认.lib。你mingw编译库给VC用?

论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-04-17 11:19:51CU大牛徽章
日期:2013-04-17 11:19:42CU大牛徽章
日期:2013-04-17 11:19:37CU大牛徽章
日期:2013-04-17 11:19:32CU大牛徽章
日期:2013-04-17 11:19:28
18 [报告]
发表于 2013-07-12 15:37 |只看该作者
reiase 发表于 2013-07-12 15:28
回复 16# 方兆国

不是,我的编译工具都是MinGW的gcc

论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-04-17 11:19:51CU大牛徽章
日期:2013-04-17 11:19:42CU大牛徽章
日期:2013-04-17 11:19:37CU大牛徽章
日期:2013-04-17 11:19:32CU大牛徽章
日期:2013-04-17 11:19:28
19 [报告]
发表于 2013-07-12 15:41 |只看该作者
reiase 发表于 2013-07-12 15:28
回复 16# 方兆国


发现问题了,就是编译的时候没有找到链接dll文件导致的
我在CMD命令提示符下手工编译,成功了

论坛徽章:
0
20 [报告]
发表于 2013-07-12 18:30 |只看该作者
不熟悉mingw
匿了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP