Зв'язок з бібліотеками C ++ вимагає багато клопоту, і для правильного його виконання потрібно багато знань і зусиль. Це може залякати учнів, які навчаються на C ++.
Часто автори / керівники певної бібліотеки C ++ матимуть це на увазі і рекомендуватимуть так чи інакше.
Іншими словами, якщо автори / підтримувачі мають намір включити бібліотеку до заголовків (* .h та .hpp тільки) або включити за джерелом ( .h * або .c ), це було б чітко сказано в readme або документацію.
Бібліотеки, які розроблені та підтримуються для крос-платформних (і сумісних з декількома постачальниками компіляторів C ++ та середовищами), часто матимуть систему makefile або систему конфігурації збірки (наприклад, CMake). Ці системи використовуються для генерування заголовків заголовків, які згладжують відмінності платформи, та для створення сценаріїв, які викликатимуть компілятор та лінкер у вихідних файлах, використовуючи відповідні параметри командного рядка та у правильній послідовності. Залежно від платформи та конфігурації, ці системи побудови можуть включати або виключати певні заголовки або вихідні файли, або вони можуть визначати або визначати певні символи препроцесора.
Можливо, суперечити рекомендаціям авторів / підтримуючих, але це завжди вимагає великих зусиль з перенесення. Обсяг роботи, необхідний для цього переносу, може бути порівнянним з перенесенням до іншого середовища C ++.
Оскільки Visual C ++ використовує власну систему збирання на основі файлу опису проекту (почасти на основі XML), це зовсім не схоже на систему побудови на основі сценаріїв, що використовується в Linux. Підхід, який застосовує CMake, призначений для CMake приймати параметри конфігурації, а потім випромінювати всю структуру проекту Visual C ++ з параметрами конфігурації, записаними у файли * .vcxproj.
Якщо під час з'єднання C ++ з Visual C ++ виникають проблеми, налаштування збірки у файлах * .vcxproj можна змінити за допомогою графічного інтерфейсу Visual Studio (використовуючи діалогове вікно сторінок властивостей проекту). Це передбачає, що ви добре розумієте значення та наслідки десятків важливих параметрів компіляції та зв’язку C ++.
Тепер настає найглупіша частина використання Visual C ++: якщо ви використовуєте десяток різних сторонніх бібліотек, зміна налаштувань збірки для всіх них означає зайти в кожен * .vcxproj файл і повторити однакові зміни в GUI для десятка. разів. Неприємності, але це можна зробити, якщо ви знаєте, як це зробити правильно.
Більшість учнів, які навчаються Visual C ++, вивчають ці налаштування важким шляхом, спостерігаючи помилки компілятора та лінкера Visual C ++, ідентифіковані кодом помилки. Наприклад, можна шукати LNK2005 з поверхневим значенням "Символ символу був визначений не один раз", але з розумінням того, що дублікат визначення не виникає з необережної помилки програмування, натомість це могло статися через деякі конфлікти чи неправильне застосування варіантів компіляції та зв’язування.
Щоб надати більш конкретну та корисну відповідь на вашу ситуацію, потрібно буде знати назви бібліотек, які ви збираєтесь використовувати, а також помилки зв’язку чи інші труднощі, з якими ви стикаєтесь. Ви можете знайти відповіді на ці запитання у відповідних колегіях обговорень бібліотеки. Ці питання, як правило, позначаються "пов'язаними питаннями", "вікнами" та "візуальними C ++".
Посібник для початківців-експертів з цього питання можливий, але це буде конкретним проектом. Різні уподобання, обрані різними проектами, потребують повного перепису керівництва.