Тот факт, что перед связыванием происходит сбой, означает, что команда
blockquote>target_link_libraries
в CMake фактически влияет не только на связывание. Это также влияет на компиляцию.Да, это правда, что новые каталоги добавления добавляются, когда вы связываете с библиотекой target вместо файла библиотеки . Вот почему этот подход называется «современным» - один вызов
target_link_libraries
выполняет все, что необходимо для использования библиотеки (в вашем случае Boost).Причиной неудачи с «современным» подходом может быть то, что «настоящие» заголовки Boost конфликтуют с другими заголовками, которые вы используете. Вы можете обнаружить это с помощью проверки цепочки включаемых файлов в сообщении об ошибке.
Это нечетно для меня для высказывания этого, потому что я не поклонник Доступа вообще. Однако я думаю, что Доступ является на самом деле более хорошим продуктом здесь по ряду причин:
С другой стороны, нет ничего неправильно с OpenOffice DB, и это свободно.