gpt4 book ai didi

c++ - 如何使 Insure++ 与 boost 和 g++ 3.4.x 一起工作

转载 作者:太空宇宙 更新时间:2023-11-04 12:15:19 25 4
gpt4 key购买 nike

我有带 g++ 3.4.6、boost 1.47(最新)和 Insure++ 的 linux 开发环境。在我添加 boost 之前,一切都可以正常编译。在我尝试使用仅使用 boost header 的库编译简单测试后,我得到了这个:

11/3/11 8:58:37 AM CET: insure g++ -Zstl -Zop /root/.pulse2-agent/data/work/insure/shared/misc/insure.opt -c -DXF_PROFILE  -o temp/linux_x86/test_boost.o -Wall -Werror -pthread -g   -I. -I../../../shared/libs/libtommath-0.41 -I../../../shared/libs/expat-1.95.8/lib -I../../../shared/generic -I../../../shared/test -I../../../shared/libs/sentinel_hasp -I../../../shared/libs/sqlite -I../../../shared/generated -I/boost test_boost.cpp
11/3/11 8:58:37 AM CET: [container_fwd.hpp:64] **PARSE_ERROR**
11/3/11 8:58:37 AM CET: Parse error.
11/3/11 8:58:37 AM CET: >> template <class charT, class traits, class Allocator> class basic_string;
11/3/11 8:58:37 AM CET: too few template parameters -- does not match previous declaration
11/3/11 8:58:37 AM CET: [container_fwd.hpp:87] **PARSE_ERROR**
11/3/11 8:58:37 AM CET: Parse error.
11/3/11 8:58:37 AM CET: >> template <class T, class Allocator> class vector;
11/3/11 8:58:37 AM CET: too few template parameters -- does not match previous declaration
11/3/11 8:58:37 AM CET: [container_fwd.hpp:88] **PARSE_ERROR**
11/3/11 8:58:37 AM CET: Parse error.
11/3/11 8:58:37 AM CET: >> template <class Key, class T, class Compare, class Allocator> class map;
11/3/11 8:58:37 AM CET: too few template parameters -- does not match previous declaration
11/3/11 8:58:37 AM CET: [container_fwd.hpp:89] **PARSE_ERROR**
11/3/11 8:58:37 AM CET: Parse error.
11/3/11 8:58:37 AM CET: >> template <class Key, class T, class Compare, class Allocator>
11/3/11 8:58:37 AM CET: too few template parameters -- does not match previous declaration
11/3/11 8:58:37 AM CET: [container_fwd.hpp:91] **PARSE_ERROR**
11/3/11 8:58:37 AM CET: Parse error.
11/3/11 8:58:37 AM CET: >> template <class Key, class Compare, class Allocator> class set;
11/3/11 8:58:37 AM CET: too few template parameters -- does not match previous declaration
11/3/11 8:58:37 AM CET: [container_fwd.hpp:92] **PARSE_ERROR**
11/3/11 8:58:37 AM CET: Parse error.
11/3/11 8:58:37 AM CET: >> template <class Key, class Compare, class Allocator> class multiset;
11/3/11 8:58:37 AM CET: too few template parameters -- does not match previous declaration
11/3/11 8:58:37 AM CET: Driver: error executing "Run "-Zoicompiler /usr/local/bin/g++" -Zstl -Zop /root/.pulse2-agent/data/work/insure/shared/misc/insure.opt -c -DXF_PROFILE -o temp/linux_x86/test_boost.o -Wall -Werror -pthread -g -I. -I../../../shared/libs/libtommath-0.41 -I../../../shared/libs/expat-1.95.8/lib -I../../../shared/generic -I../../../shared/test -I../../../shared/libs/sentinel_hasp -I../../../shared/libs/sqlite -I../../../shared/generated -I/boost test_boost.cpp"

如果没有 Insure++,它编译得很好。不幸的是,由于内部项目结构,我无法将编译器更改为新编译器。

知道真正的问题是什么吗?我该如何解决?

/编辑

我在某处读到,此类问题可能是由 boost 本身中不正确的前向声明引起的。所以我在 boost header 之前添加到我的测试中:

#define BOOST_DETAIL_NO_CONTAINER_FWD

现在它没有报告任何问题,而是在编译过程中完全崩溃:

insure g++ -Zstl -Zop /root/x-formation-pk/shared/misc/insure.opt -c -DXF_PROFILE  -o temp/linux_x86/test_boost.o -Wall -Werror -pthread -g   -I. -I../../../shared/libs/libtommath-0.41 -I../../../shared/libs/expat-1.95.8/lib -I../../../shared/generic -I../../../shared/test -I../../../shared/libs/sentinel_hasp -I../../../shared/libs/sqlite -I../../../shared/generated -I/boost test_boost.cpp
Driver: error executing "Run "-Zoicompiler /usr/local/bin/g++" -Zstl -Zop /root/x-formation-pk/shared/misc/insure.opt -c -DXF_PROFILE -o temp/linux_x86/test_boost.o -Wall -Werror -pthread -g -I. -I../../../shared/libs/libtommath-0.41 -I../../../shared/libs/expat-1.95.8/lib -I../../../shared/generic -I../../../shared/test -I../../../shared/libs/sentinel_hasp -I../../../shared/libs/sqlite -I../../../shared/generated -I/boost test_boost.cpp"
makepp: error: Failed to build targets `/root/x-formation-pk/shared/generic/test/temp/linux_x86/test_boost.lob' `/root/x-formation-pk/shared/generic/test/temp/linux_x86/test_boost.o' [2]

最佳答案

实际上,我从 Parasoft 那里得到确认,我发现了一个错误。他们会尝试解决这个问题,问题已经产生。

关于c++ - 如何使 Insure++ 与 boost 和 g++ 3.4.x 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7992885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com