Я пытаюсь использовать CMake для настройки простого проекта, связывающего raylibs. Всякий раз, когда я пытаюсь запустить свою основную функцию, я продолжаю получать необъявленные ссылки на вызовы моих функций:
/usr/bin/ld: /home/doppler/C++ Projects/test 2/source/main.cpp:15: undefined reference to `SetTargetFPS'
Краткий обзор того, как я начал этот проект:
Создал каталог, test2, внешний, исходный код.
Использовал быстрый запуск CMake в VS Код
git клонировал raylibs во внешний
отредактировал мой файл CMake;
cmake_minimum_required(VERSION 3.30.0)
project(test2 VERSION 0.1.0 LANGUAGES C CXX)
set(MAIN_PATH source/main.cpp)
add_executable(${PROJECT_NAME} ${MAIN_PATH})
add_subdirectory(external/raylib)
include_directories("external" "external/raylib/src")
target_link_libraries(${PROJECT_NAME} PRIVATE raylib)
Открыл терминал в моем основном каталоге;
mkdir build
cd build
cmake --build .
Запустите main, чтобы не обнаружить последующих ошибок, кроме неопределенных неопределенных ссылок.
Запуск cmake --build . --verbose возвращает:
doppler@doppler-Dell-G15-5510:~/C++ Projects/test 2/build$ cmake --build . --verbose
Change Dir: '/home/doppler/C++ Projects/test 2/build'
Run Build Command(s): /home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile
/home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -S"/home/doppler/C++ Projects/test 2" -B"/home/doppler/C++ Projects/test 2/build" --check-build-system CMakeFiles/Makefile.cmake 0
/home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E cmake_progress_start "/home/doppler/C++ Projects/test 2/build/CMakeFiles" "/home/doppler/C++ Projects/test 2/build//CMakeFiles/progress.marks"
/usr/bin/gmake -f CMakeFiles/Makefile2 all
gmake[1]: Entering directory '/home/doppler/C++ Projects/test 2/build'
/usr/bin/gmake -f external/raylib/raylib/external/glfw/src/CMakeFiles/glfw.dir/build.make external/raylib/raylib/external/glfw/src/CMakeFiles/glfw.dir/depend
gmake[2]: Entering directory '/home/doppler/C++ Projects/test 2/build'
cd "/home/doppler/C++ Projects/test 2/build" && /home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E cmake_depends "Unix Makefiles" "/home/doppler/C++ Projects/test 2" "/home/doppler/C++ Projects/test 2/external/raylib/src/external/glfw/src" "/home/doppler/C++ Projects/test 2/build" "/home/doppler/C++ Projects/test 2/build/external/raylib/raylib/external/glfw/src" "/home/doppler/C++ Projects/test 2/build/external/raylib/raylib/external/glfw/src/CMakeFiles/glfw.dir/DependInfo.cmake" "--color="
gmake[2]: Leaving directory '/home/doppler/C++ Projects/test 2/build'
/usr/bin/gmake -f external/raylib/raylib/external/glfw/src/CMakeFiles/glfw.dir/build.make external/raylib/raylib/external/glfw/src/CMakeFiles/glfw.dir/build
gmake[2]: Entering directory '/home/doppler/C++ Projects/test 2/build'
gmake[2]: Nothing to be done for 'external/raylib/raylib/external/glfw/src/CMakeFiles/glfw.dir/build'.
gmake[2]: Leaving directory '/home/doppler/C++ Projects/test 2/build'
[ 81%] Built target glfw
/usr/bin/gmake -f external/raylib/raylib/CMakeFiles/raylib.dir/build.make external/raylib/raylib/CMakeFiles/raylib.dir/depend
gmake[2]: Entering directory '/home/doppler/C++ Projects/test 2/build'
cd "/home/doppler/C++ Projects/test 2/build" && /home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E cmake_depends "Unix Makefiles" "/home/doppler/C++ Projects/test 2" "/home/doppler/C++ Projects/test 2/external/raylib/src" "/home/doppler/C++ Projects/test 2/build" "/home/doppler/C++ Projects/test 2/build/external/raylib/raylib" "/home/doppler/C++ Projects/test 2/build/external/raylib/raylib/CMakeFiles/raylib.dir/DependInfo.cmake" "--color="
gmake[2]: Leaving directory '/home/doppler/C++ Projects/test 2/build'
/usr/bin/gmake -f external/raylib/raylib/CMakeFiles/raylib.dir/build.make external/raylib/raylib/CMakeFiles/raylib.dir/build
gmake[2]: Entering directory '/home/doppler/C++ Projects/test 2/build'
gmake[2]: Nothing to be done for 'external/raylib/raylib/CMakeFiles/raylib.dir/build'.
gmake[2]: Leaving directory '/home/doppler/C++ Projects/test 2/build'
[ 96%] Built target raylib
/usr/bin/gmake -f CMakeFiles/test2.dir/build.make CMakeFiles/test2.dir/depend
gmake[2]: Entering directory '/home/doppler/C++ Projects/test 2/build'
cd "/home/doppler/C++ Projects/test 2/build" && /home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E cmake_depends "Unix Makefiles" "/home/doppler/C++ Projects/test 2" "/home/doppler/C++ Projects/test 2" "/home/doppler/C++ Projects/test 2/build" "/home/doppler/C++ Projects/test 2/build" "/home/doppler/C++ Projects/test 2/build/CMakeFiles/test2.dir/DependInfo.cmake" "--color="
gmake[2]: Leaving directory '/home/doppler/C++ Projects/test 2/build'
/usr/bin/gmake -f CMakeFiles/test2.dir/build.make CMakeFiles/test2.dir/build
gmake[2]: Entering directory '/home/doppler/C++ Projects/test 2/build'
[ 98%] Building CXX object CMakeFiles/test2.dir/source/main.cpp.o
/usr/bin/c++ -DGRAPHICS_API_OPENGL_33 -DPLATFORM_DESKTOP -I"/home/doppler/C++ Projects/test 2/external" -I"/home/doppler/C++ Projects/test 2/external/raylib/src" -I"/home/doppler/C++ Projects/test 2/external/raylib/src/external/glfw/include" -g -MD -MT CMakeFiles/test2.dir/source/main.cpp.o -MF CMakeFiles/test2.dir/source/main.cpp.o.d -o CMakeFiles/test2.dir/source/main.cpp.o -c "/home/doppler/C++ Projects/test 2/source/main.cpp"
[100%] Linking CXX executable test2
/home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/test2.dir/link.txt --verbose=1
/usr/bin/c++ -g CMakeFiles/test2.dir/source/main.cpp.o -o test2 external/raylib/raylib/libraylib.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libOpenGL.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/librt.a -lm -ldl
gmake[2]: Leaving directory '/home/doppler/C++ Projects/test 2/build'
[100%] Built target test2
gmake[1]: Leaving directory '/home/doppler/C++ Projects/test 2/build'
/home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E cmake_progress_start "/home/doppler/C++ Projects/test 2/build/CMakeFiles" 0
Подробнее здесь: https://stackoverflow.com/questions/787 ... with-cmake
Неопределенная ссылка на RayLibs при связывании с CMake? ⇐ C++
Программы на C++. Форум разработчиков
-
Anonymous
1720636663
Anonymous
Я пытаюсь использовать CMake для настройки простого проекта, связывающего raylibs. Всякий раз, когда я пытаюсь запустить свою основную функцию, я продолжаю получать необъявленные ссылки на вызовы моих функций:
/usr/bin/ld: /home/doppler/C++ Projects/test 2/source/main.cpp:15: undefined reference to `SetTargetFPS'
Краткий обзор того, как я начал этот проект:
Создал каталог, test2, внешний, исходный код.
Использовал быстрый запуск CMake в VS Код
git клонировал raylibs во внешний
отредактировал мой файл CMake;
cmake_minimum_required(VERSION 3.30.0)
project(test2 VERSION 0.1.0 LANGUAGES C CXX)
set(MAIN_PATH source/main.cpp)
add_executable(${PROJECT_NAME} ${MAIN_PATH})
add_subdirectory(external/raylib)
include_directories("external" "external/raylib/src")
target_link_libraries(${PROJECT_NAME} PRIVATE raylib)
Открыл терминал в моем основном каталоге;
mkdir build
cd build
cmake --build .
Запустите main, чтобы не обнаружить последующих ошибок, кроме неопределенных неопределенных ссылок.
Запуск cmake --build . --verbose возвращает:
doppler@doppler-Dell-G15-5510:~/C++ Projects/test 2/build$ cmake --build . --verbose
Change Dir: '/home/doppler/C++ Projects/test 2/build'
Run Build Command(s): /home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile
/home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -S"/home/doppler/C++ Projects/test 2" -B"/home/doppler/C++ Projects/test 2/build" --check-build-system CMakeFiles/Makefile.cmake 0
/home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E cmake_progress_start "/home/doppler/C++ Projects/test 2/build/CMakeFiles" "/home/doppler/C++ Projects/test 2/build//CMakeFiles/progress.marks"
/usr/bin/gmake -f CMakeFiles/Makefile2 all
gmake[1]: Entering directory '/home/doppler/C++ Projects/test 2/build'
/usr/bin/gmake -f external/raylib/raylib/external/glfw/src/CMakeFiles/glfw.dir/build.make external/raylib/raylib/external/glfw/src/CMakeFiles/glfw.dir/depend
gmake[2]: Entering directory '/home/doppler/C++ Projects/test 2/build'
cd "/home/doppler/C++ Projects/test 2/build" && /home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E cmake_depends "Unix Makefiles" "/home/doppler/C++ Projects/test 2" "/home/doppler/C++ Projects/test 2/external/raylib/src/external/glfw/src" "/home/doppler/C++ Projects/test 2/build" "/home/doppler/C++ Projects/test 2/build/external/raylib/raylib/external/glfw/src" "/home/doppler/C++ Projects/test 2/build/external/raylib/raylib/external/glfw/src/CMakeFiles/glfw.dir/DependInfo.cmake" "--color="
gmake[2]: Leaving directory '/home/doppler/C++ Projects/test 2/build'
/usr/bin/gmake -f external/raylib/raylib/external/glfw/src/CMakeFiles/glfw.dir/build.make external/raylib/raylib/external/glfw/src/CMakeFiles/glfw.dir/build
gmake[2]: Entering directory '/home/doppler/C++ Projects/test 2/build'
gmake[2]: Nothing to be done for 'external/raylib/raylib/external/glfw/src/CMakeFiles/glfw.dir/build'.
gmake[2]: Leaving directory '/home/doppler/C++ Projects/test 2/build'
[ 81%] Built target glfw
/usr/bin/gmake -f external/raylib/raylib/CMakeFiles/raylib.dir/build.make external/raylib/raylib/CMakeFiles/raylib.dir/depend
gmake[2]: Entering directory '/home/doppler/C++ Projects/test 2/build'
cd "/home/doppler/C++ Projects/test 2/build" && /home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E cmake_depends "Unix Makefiles" "/home/doppler/C++ Projects/test 2" "/home/doppler/C++ Projects/test 2/external/raylib/src" "/home/doppler/C++ Projects/test 2/build" "/home/doppler/C++ Projects/test 2/build/external/raylib/raylib" "/home/doppler/C++ Projects/test 2/build/external/raylib/raylib/CMakeFiles/raylib.dir/DependInfo.cmake" "--color="
gmake[2]: Leaving directory '/home/doppler/C++ Projects/test 2/build'
/usr/bin/gmake -f external/raylib/raylib/CMakeFiles/raylib.dir/build.make external/raylib/raylib/CMakeFiles/raylib.dir/build
gmake[2]: Entering directory '/home/doppler/C++ Projects/test 2/build'
gmake[2]: Nothing to be done for 'external/raylib/raylib/CMakeFiles/raylib.dir/build'.
gmake[2]: Leaving directory '/home/doppler/C++ Projects/test 2/build'
[ 96%] Built target raylib
/usr/bin/gmake -f CMakeFiles/test2.dir/build.make CMakeFiles/test2.dir/depend
gmake[2]: Entering directory '/home/doppler/C++ Projects/test 2/build'
cd "/home/doppler/C++ Projects/test 2/build" && /home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E cmake_depends "Unix Makefiles" "/home/doppler/C++ Projects/test 2" "/home/doppler/C++ Projects/test 2" "/home/doppler/C++ Projects/test 2/build" "/home/doppler/C++ Projects/test 2/build" "/home/doppler/C++ Projects/test 2/build/CMakeFiles/test2.dir/DependInfo.cmake" "--color="
gmake[2]: Leaving directory '/home/doppler/C++ Projects/test 2/build'
/usr/bin/gmake -f CMakeFiles/test2.dir/build.make CMakeFiles/test2.dir/build
gmake[2]: Entering directory '/home/doppler/C++ Projects/test 2/build'
[ 98%] Building CXX object CMakeFiles/test2.dir/source/main.cpp.o
/usr/bin/c++ -DGRAPHICS_API_OPENGL_33 -DPLATFORM_DESKTOP -I"/home/doppler/C++ Projects/test 2/external" -I"/home/doppler/C++ Projects/test 2/external/raylib/src" -I"/home/doppler/C++ Projects/test 2/external/raylib/src/external/glfw/include" -g -MD -MT CMakeFiles/test2.dir/source/main.cpp.o -MF CMakeFiles/test2.dir/source/main.cpp.o.d -o CMakeFiles/test2.dir/source/main.cpp.o -c "/home/doppler/C++ Projects/test 2/source/main.cpp"
[100%] Linking CXX executable test2
/home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/test2.dir/link.txt --verbose=1
/usr/bin/c++ -g CMakeFiles/test2.dir/source/main.cpp.o -o test2 external/raylib/raylib/libraylib.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libOpenGL.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/librt.a -lm -ldl
gmake[2]: Leaving directory '/home/doppler/C++ Projects/test 2/build'
[100%] Built target test2
gmake[1]: Leaving directory '/home/doppler/C++ Projects/test 2/build'
/home/doppler/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E cmake_progress_start "/home/doppler/C++ Projects/test 2/build/CMakeFiles" 0
Подробнее здесь: [url]https://stackoverflow.com/questions/78723354/undefined-reference-for-raylibs-when-linking-with-cmake[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия