Вы видите ошибку компоновщика, говорит вам, компоновщик не может найти ни библиотеки, которая соответствует опции командной строки компоновщика:
-lC:\Users\XXX\workspace\unittest-cpp-master\UnitTest++\UnitTest++.h
библиотека, которая соответствует линкер вариант -lfoo
будет называется libfoo.a
или libfoo.so
, если вы находитесь в unix-подобной системе или libfoo.a
, foo.lib
или foo.dll
, если вы находитесь в Windows.
, конечно, ни одна из этих возможностей дает имя любого файла, который существует на вашем компьютере, если вы заменяете C:\Users\XXX\workspace\unittest-cpp-master\UnitTest++\UnitTest++.h
для foo
.
Вы сделали один и, возможно, две ошибки:
Вы добавили имя файла заголовка, C:\Users\XXX\workspace\unittest-cpp-master\UnitTest++\UnitTest++.h
, в библиотеке в связей. Файл заголовка ничего не означает для компоновщика. Библиотека связей - это двоичный файл , содержащий скомпилированный код, который компоновщик может комбинировать с другими двоичными файлами для создания программы. Библиотека , которую вы должны указать, - UnitTest++
. Эта установка будет генерировать командную строку компоновщика варианта:
-lUnitTest++
, когда вы строите, а компоновщик будет искать файл библиотеки соответствия в каталогах , где он должен искать библиотеки.
По умолчанию компоновщик будет искать библиотеки в нескольких каталогах по умолчанию, в зависимости от вашей unix-подобной или Windows-системы. Если вы не установили свою библиотеку UnitTest ++ в одном из этих мест, вам также необходимо сообщить компоновщику имя каталога, в котором он должен искать эту библиотеку. Так что если, только, например, библиотека вашей UnitTest ++ является:
C:\Users\XXX\workspace\unittest-cpp-master\lib\UnitTest++.a
, то вам нужно сделать другие настройки в IDE.Перейдите к Свойства Проекта вашего проекта ->C++ Строят -> Настройки ->GCC C++ Linker ->Библиотеки ->Библиотека путь поиска, и добавить C:\Users\XXX\workspace\unittest-cpp-master\UnitTest++
. Эта установка будет генерировать командной строки компоновщика вариант:
-LC:\Users\XXX\workspace\unittest-cpp-master\lib
при сборке.
Если вы используете IDE такого Eclipse, чтобы контролировать GNU инструментов для сборки без понимания того, как в основном командной строки инструментов работа и какие виды файлов они работают на то, что я боюсь, что вы уверены, что совершать грубые ошибки, как это: here is very quick cure for that. Если это приводит к заблуждению при работе с MinGW GCC, обратитесь к the MinGW documentation и/или the GCC documentation