未定义的引用`__gxx_personality_sj0,尽管使用相同的编译器

时间:2015-06-24 11:30:21

标签: c++ boost mingw codeblocks wxwidgets

编辑:这与其他类似的问题有所不同,因为我已经检查过他们建议将不同的编译器用于库的方式,而且没有一种方法似乎是这里发生的事情

我正在尝试构建一个同时使用boost库和wxwidgets的应用程序。我已经使用MinGW静态编译了两个库,虽然我在boost编译中收到了很多警告,但是看起来已经成功了,例如:

./boost/concept/assert.hpp:44:5: note: in expansion of macro 'BOOST_CONCEPT_ASSERT_FN'
     BOOST_CONCEPT_ASSERT_FN(void(*)ModelInParens)
     ^
./boost/concept_check.hpp:800:11: note: in expansion of macro 'BOOST_CONCEPT_ASSERT'
           BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator<typename self::iterator>));
           ^
./boost/concept/detail/general.hpp:71:20: warning: typedef 'boost_concept_check801' locally defined but not used [-Wunused-local-typedefs]
       BOOST_PP_CAT(boost_concept_check,__LINE__)
                    ^
./boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
 #    define BOOST_PP_CAT_I(a, b) a ## b

问题是当我在codeblocks中编译我的应用程序时,我从标题中得到错误。

谷歌建议这个问题是由我使用的其中一个库或我的应用程序引起的,它们是用不同的编译器编译的。我确定他们都在使用mingw,boost有选项toolset = gcc set,wxwidgets使用mingw32-makefile,而codeblocks设置为使用我系统上唯一的mingw / bin文件夹。

我不确定它是否会对使用mingw中的确切编译器产生影响,如果使用gcc进行增强会是一个问题,而wxwidgets是用g ++完成的吗?

这是我的编译器输出来自codeblocks,还有其他一些错误和警告,标题错误只是最重要的错误:http://pastebin.com/PbRXtecg

我该怎么办?谢谢!

0 个答案:

没有答案