Связывание внешнего проекта CMake с ns-3.46.1 (сбой find_package)C++

Программы на C++. Форум разработчиков
Anonymous
Связывание внешнего проекта CMake с ns-3.46.1 (сбой find_package)

Сообщение Anonymous »

Я собрал ns-3.46.1 из исходного кода (стандартный способ сборки ./ns3). Я выполнил каждый шаг, определенный здесь https://www.nsnam.org/docs/tutorial/htm ... lding-ns-3, и он отлично работает для внутренних примеров. Однако я изо всех сил пытаюсь связать его с автономным проектом C++, расположенным за пределами дерева ns-3.
Мой CMakeLists.txt выглядит следующим образом:

Код: Выделить всё

cmake_minimum_required(VERSION 3.20)
project(my-ns3-sim)

set(NS3_DIR "/home/user/ns-allinone-3.46.1/ns-3.46.1")
list(APPEND CMAKE_PREFIX_PATH "${NS3_DIR}/build")

find_package(ns3 REQUIRED)

add_executable(my-sim main.cc)
target_link_libraries(my-sim PRIVATE ns3::core ns3::internet)

Проблема в том, что find_package(ns3) завершается неудачей, поскольку ns3Config.cmake нигде не найден в каталоге сборки. Действительно ли ns-3 (v3.46) экспортирует эти файлы конфигурации?
Я пытаюсь избежать включения жесткого кодирования вручную и не могу найти документацию о «правильном» способе использования встроенного ns-3 в качестве внешней зависимости в CMake или других встроенных инструментах.
Кто-нибудь успешно связал внешний проект? Подойдет любой работающий пример CMakeLists.txt.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ge-failing

Вернуться в «C++»