Почему я получаю «ld: в libUnitTest ++. A, в архиве нет оглавления» при сборке UnitTest ++ в Mac OS X? - PullRequest
0 голосов
/ 15 декабря 2010

После того, как я скачал UnitTest ++ версии 1.4 (с http://sourceforge.net/projects/unittest-cpp/) и выполнил сборку, я получил:

$ make
src/AssertException.cpp
src/Test.cpp
src/Checks.cpp
src/TestRunner.cpp
src/TestResults.cpp
src/TestReporter.cpp
src/TestReporterStdout.cpp
src/ReportAssert.cpp
src/TestList.cpp
src/TimeConstraint.cpp
src/TestDetails.cpp
src/MemoryOutStream.cpp
src/DeferredTestReporter.cpp
src/DeferredTestResult.cpp
src/XmlTestReporter.cpp
src/CurrentTest.cpp
src/Posix/SignalTranslator.cpp
src/Posix/TimeHelpers.cpp
Creating libUnitTest++.a library...
src/tests/Main.cpp
src/tests/TestAssertHandler.cpp
src/tests/TestChecks.cpp
src/tests/TestUnitTest++.cpp
src/tests/TestTest.cpp
src/tests/TestTestResults.cpp
src/tests/TestTestRunner.cpp
src/tests/TestCheckMacros.cpp
src/tests/TestTestList.cpp
src/tests/TestTestMacros.cpp
src/tests/TestTimeConstraint.cpp
src/tests/TestTimeConstraintMacro.cpp
src/tests/TestMemoryOutStream.cpp
src/tests/TestDeferredTestReporter.cpp
src/tests/TestXmlTestReporter.cpp
src/tests/TestCurrentTest.cpp
Linking TestUnitTest++...
ld: in libUnitTest++.a, archive has no table of contents
collect2: ld returned 1 exit status
make: *** [TestUnitTest++] Error 1

Сотрудник не получает эту ошибку на своем Mac ста же версия gcc (4.2.1). (Примечание: я могу использовать libUnitTest ++. a, созданный моим коллегой, поэтому я не заблокирован, но, тем не менее, хотел бы устранить эту проблему.)

Я сделал поиск в Google , и похоже, что ranlib решил подобные проблемы других, но libUnitTest ++. A не создается, поэтому я не могу запустить ranlib на нем.

1 Ответ

1 голос
/ 24 сентября 2011

Я сам столкнулся с этой проблемой, вам нужно запустить ranlib для файла .a, прежде чем передавать его в g ++. Я исправил это в рецепте домашнего приготовления, наслаждайтесь:

https://github.com/pdex/homebrew/blob/master/Library/Formula/unittest-cpp.rb

...