Как запустить консольную цель для библиотечного проекта?

Я пытаюсь создать / построить / запустить вторую цель для проекта библиотеки в xcode. Библиотека используется другим проектом в рабочей области, и у меня есть:

  1. Создана вторая цель, консольное приложение
  2. Подтвердил, что созданный файл main.cpp включен в
    консольная цель
  3. Очистить и восстановить, подтверждая, что библиотека все еще строит и
    работает

Однако цель консоли остается не построенной. Я не получил никаких ошибок.

Места, которые я исследовал в поисках шагов с более высоким разрешением:

Если вы думаете, что можете помочь, я был бы очень благодарен.

-2

Решение

Возможно, это не тот ответ, который вы ищете, но если вы достаточно новичок в XCode, то установка test.cpp в вашей библиотеке достаточно сложна, вы можете попробовать другой инструмент, который в долгосрочной перспективе может оказаться более полезным ,

CMake — превосходный кроссплатформенный инструмент, способный генерировать специфичные для платформы make-файлы или файлы проекта / рабочего пространства для различных IDE, включая XCode. Так что вам нужно изучить только один инструмент, и вы подходите для всех платформ и компиляторов.

CMake имеет сопутствующее приложение, которое поставляется вместе с ним, CTest. Он предназначен только для того, что вы ищете. Он в основном добавляет цели сборки, которые собирают определенное приложение (test.cpp в вашем случае), и проверяет, равен ли возврат int main () нулю или нет. Могут быть созданы несколько тестов (все тестируют различные аспекты вашей библиотеки), и CTest предоставляет хороший интерфейс для запуска всех тестов, только указанных, а что нет, плюс он печатает время выполнения тестов и шоу, которые потерпели неудачу.

CMake и CTest имеют хорошую документацию, и есть множество учебников, доступных онлайн. Для освоения может потребоваться некоторое время, но за 2 дня, проведенных в гугле, вы могли бы легко перенести свою рабочую область в CMake. В конечном итоге это окупается.

1

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


По вопросам рекламы [email protected]