我正在尝试构建 zxing iphone 项目并运行用 cppunit-1.12.1 编写的测试套件。我在项目中复制了 cppunit-1.12.1 代码,并将活动 SDK 更改为 10.5,我能够构建 cppunit 和 zxingcore 目标,但是当我尝试构建 zxingcore-tests 目标时,出现以下错误,这似乎与 vtables 有关,并且与库的体系结构类型有关的奇怪警告:
有没有一种很好的格式化方法,基本上是转义格式,而不必在每一行的前面插入一个 >。我使用<pre>
了在预览中效果很好的标签,但在最终渲染中却没有——不尊重格式并切断了文本。一旦有人给我建议,我会修改格式。
Ld build/Debug/zxingcore-tests normal i386
cd /Users/andres/src/zxing/iphone
setenv MACOSX_DEPLOYMENT_TARGET 10.5
/Developer/usr/bin/g++-4.2 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk -L/Users/andres/src/zxing/iphone/build/Debug -F/Users/andres/src/zxing/iphone/build/Debug -filelist /Users/andres/src/zxing/iphone/build/ZXing.build/Debug/zxingcore-tests.build/Objects-normal/i386/zxingcore-tests.LinkFileList -mmacosx-version-min=10.5 -lzxingcore -lCppUnit -o /Users/andres/src/zxing/iphone/build/Debug/zxingcore-tests
ld: warning: in /Developer/SDKs/MacOSX10.5.sdk/usr/local/lib/libCppUnit.dylib, file is not of required architecture
ld: warning: common::Counted::Counted()has different visibility (default) in /Users/andres/src/zxing/iphone/build/Debug/libzxingcore.a(GF256.o) and (hidden) in /Users/andres/src/zxing/iphone/build/ZXing.build/Debug/zxingcore-tests.build/Objects-normal/i386/BitSourceTest.o
ld: warning: common::Counted::retain() has different visibility (default) in /Users/andres/src/zxing/iphone/build/Debug/libzxingcore.a(GF256.o) and (hidden) in /Users/andres/src/zxing/iphone/build/ZXing.build/Debug/zxingcore-tests.build/Objects-normal/i386/BitSourceTest.o
ld: warning: common::ArrayRef::~ArrayRef()has different visibility (default) in /Users/andres/src/zxing/iphone/build/Debug/libzxingcore.a(GF256.o) and (hidden) in /Users/andres/src/zxing/iphone/build/ZXing.build/Debug/zxingcore-tests.build/Objects-normal/i386/ReedSolomonTest.o
ld: warning: std::valarray::operator[](unsigned long)has different visibility (default) in /Users/andres/src/zxing/iphone/build/Debug/libzxingcore.a(GF256.o) and (hidden) in /Users/andres/src/zxing/iphone/build/ZXing.build/Debug/zxingcore-tests.build/Objects-normal/i386/ReedSolomonTest.o
ld: warning: common::ArrayRef::reset(common::Array*)has different visibility (default) in /Users/andres/src/zxing/iphone/build/Debug/libzxingcore.a(GF256.o) and (hidden) in /Users/andres/src/zxing/iphone/build/ZXing.build/Debug/zxingcore-tests.build/Objects-normal/i386/ReedSolomonTest.o
ld: warning: common::ArrayRef::ArrayRef(common::Array*)has different visibility (default) in /Users/andres/src/zxing/iphone/build/Debug/libzxingcore.a(GF256.o) and (hidden) in /Users/andres/src/zxing/iphone/build/ZXing.build/Debug/zxingcore-tests.build/Objects-normal/i386/ReedSolomonTest.o
ld: warning: common::ArrayRef::ArrayRef(common::ArrayRef const&)has different visibility (default) in /Users/andres/src/zxing/iphone/build/Debug/libzxingcore.a(GF256.o) and (hidden) in /Users/andres/src/zxing/iphone/build/ZXing.build/Debug/zxingcore-tests.build/Objects-normal/i386/ReedSolomonTest.o
....many more of these warnings...
现在的错误
Undefined symbols:
"vtable for CppUnit::TestSuiteBuilderContextBase", referenced from:
__ZTVN7CppUnit27TestSuiteBuilderContextBaseE$non_lazy_ptr in BitArrayTest.o
__ZTVN7CppUnit27TestSuiteBuilderContextBaseE$non_lazy_ptr in BitMatrixTest.o
__ZTVN7CppUnit27TestSuiteBuilderContextBaseE$non_lazy_ptr in BitSourceTest.o
__ZTVN7CppUnit27TestSuiteBuilderContextBaseE$non_lazy_ptr in BlackPointEstimatorTest.o
__ZTVN7CppUnit27TestSuiteBuilderContextBaseE$non_lazy_ptr in PerspectiveTransformTest.o
__ZTVN7CppUnit27TestSuiteBuilderContextBaseE$non_lazy_ptr in ReedSolomonTest.o
__ZTVN7CppUnit27TestSuiteBuilderContextBaseE$non_lazy_ptr in DataMaskTest.o
__ZTVN7CppUnit27TestSuiteBuilderContextBaseE$non_lazy_ptr in ErrorCorrectionLevelTest.o
__ZTVN7CppUnit27TestSuiteBuilderContextBaseE$non_lazy_ptr in FormatInformationTest.o
__ZTVN7CppUnit27TestSuiteBuilderContextBaseE$non_lazy_ptr in ModeTest.o
__ZTVN7CppUnit27TestSuiteBuilderContextBaseE$non_lazy_ptr in VersionTest.o
"CppUnit::TestLeaf::doGetChildTestAt(int) const", referenced from:
vtable for CppUnit::TestCaller in BitArrayTest.o
vtable for CppUnit::TestCaller in BitMatrixTest.o
vtable for CppUnit::TestCaller in BitSourceTest.o
vtable for CppUnit::TestCaller in BlackPointEstimatorTest.o
vtable for CppUnit::TestCaller in PerspectiveTransformTest.o
vtable for CppUnit::TestCaller in ReedSolomonTest.o
vtable for CppUnit::TestCallerin DataMaskTest.o
vtable for CppUnit::TestCallerin ErrorCorrectionLevelTest.o
vtable for CppUnit::TestCallerin FormatInformationTest.o
vtable for CppUnit::TestCallerin ModeTest.o
vtable for CppUnit::TestCallerin VersionTest.o
"typeinfo for CppUnit::TestCase", referenced from:
typeinfo for CppUnit::TestCallerin BitArrayTest.o
typeinfo for CppUnit::TestCallerin BitMatrixTest.o
typeinfo for CppUnit::TestCallerin BitSourceTest.o
typeinfo for CppUnit::TestCallerin BlackPointEstimatorTest.o
typeinfo for CppUnit::TestCallerin PerspectiveTransformTest.o
typeinfo for CppUnit::TestCallerin ReedSolomonTest.o
typeinfo for CppUnit::TestCallerin DataMaskTest.o
typeinfo for CppUnit::TestCallerin ErrorCorrectionLevelTest.o
typeinfo for CppUnit::TestCallerin FormatInformationTest.o
typeinfo for CppUnit::TestCallerin ModeTest.o
typeinfo for CppUnit::TestCallerin VersionTest.o
"CppUnit::TestLeaf::countTestCases() const", referenced from:
vtable for CppUnit::TestCaller in BitArrayTest.o
vtable for CppUnit::TestCaller in BitMatrixTest.o
vtable for CppUnit::TestCaller in BitSourceTest.o
vtable for CppUnit::TestCaller in BlackPointEstimatorTest.o
vtable for CppUnit::TestCaller in
`... lots of these errors ... `
CppUnit::assertEquals(qrcode::decoder::FormatInformation const&, qrcode::decoder::FormatInformation const&, CppUnit::SourceLine, std::basic_string, std::allocator > const&)in FormatInformationTest.o
void CppUnit::assertEquals(int const&, int const&, CppUnit::SourceLine, std::basic_string, std::allocator > const&)in ModeTest.o
void CppUnit::assertEquals(qrcode::decoder::Mode* const&, qrcode::decoder::Mode* const&, CppUnit::SourceLine, std::basic_string, std::allocator > const&)in ModeTest.o
void CppUnit::assertEquals(int const&, int const&, CppUnit::SourceLine, std::basic_string, std::allocator > const&)in VersionTest.o
void CppUnit::assertEquals(bool const&, bool const&, CppUnit::SourceLine, std::basic_string, std::allocator > const&)in VersionTest.o
ld: symbol(s) not found
collect2: ld returned 1 exit status