Кодовые блоки и CppUTest, неопределенная ссылка

Я пытаюсь скомпилировать следующее тестовое приложение, используя CodeBlocks и CppUTest, однако независимо от того, что я делаю, я всегда получаю undefined reference ошибка. Я скомпилировал CppUTest с Cygwin, в кодовых блоках я использую MinGW.

Каталог проекта просто имеет два файла, main.cpp а также tests.cppЯ пытаюсь получить это для компиляции.

Это main.cpp файл:

#include "CppUTest/CommandLineTestRunner.h"int main(int ac, char** av)
{
return CommandLineTestRunner::RunAllTests(ac, av);
}

Это tests.cpp файл:

#include "CppUTest/TestHarness.h"TEST_GROUP(FirstTestGroup)
{
};

TEST(FirstTestGroup, FirstTest)
{
FAIL("Fail me!");
}
TEST(FirstTestGroup, SecondTest)
{
STRCMP_EQUAL("hello", "world");
LONGS_EQUAL(1, 2);
CHECK(false);
}

У меня уже есть библиотеки libCppUTest.a а также libCppUTestExt.aТеперь я должен связать их с проектом. Для этого я попытался сделать следующее:

  • В опциях сборки добавьте <CppUTest>\include\ искать каталоги для компилятора.
  • В опциях сборки добавьте <CppUTest>\lib\ искать каталоги для компоновщика.
  • В настройках ссылки добавь libCppUTest.a а также libCppUTestExt.a связать библиотеки. Также пробовал с полным путем к этим библиотекам.

Я думаю, что проблема не в кодовых блоках, потому что я пытался с каждым найденным руководством связать библиотеки и всегда получаю undefined reference, Я также пытался добавить их как глобальные настройки, но я получаю ту же ошибку, undefined reference,

Есть идеи?

0

Решение

Как отмечает @Sreekar, проблема в том, что я использовал MinGW в кодовых блоках, а библиотеки были скомпилированы с помощью cygwin. Смена компилятора на cygwin в Codeblocks устранила проблему для меня.

Здесь описывается процесс смены компилятора на cygwin в кодовых блоках, если это необходимо:

https://www.youtube.com/watch?v=oVmd0P85D8o

0

Другие решения

Других решений пока нет …