#c #cmake #compiler-errors #path
#c #cmake #ошибки компилятора #путь
Вопрос:
При сборке моей программы на C появляется сообщение об ошибке:
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [../bin/hannimpeha] Error 1
make[2]: *** [CMakeFiles/hannimpeha.dir/all] Error 2
make[1]: *** [CMakeFiles/hannimpeha.dir/rule] Error 2
make: *** [hannimpeha] Error 2
Мой файл cmake выглядит так
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/cmake-build-debug)
add_executable(hannimpeha ${PROJECT_SOURCE_DIR}/bin/OLED_main.c)
Как я могу заставить компилятор C найти правильный путь?
Комментарии:
1. Пожалуйста, укажите полное сообщение об ошибке в вопросе — и если вы хотите приблизиться к проблеме, введите команды для самостоятельной компиляции, не позволяйте
CMake
этого делать.2. @Ted Лингмо, я добавил несколько сообщений..
3. Лучше, но
CMake
многое скрывает в режиме по умолчанию. Возьмите ваш код и скомпилируйте егоclang
, работает ли он?4. @Ted Lyngmo, я бы лучше поискал, что такое clang ..
5.
clang: error: linker command failed with exit code 1 (use -v to see invocation)
это вторая строка вашего вопроса. Это компилятор.linker
Проблема обычно означает, что сигнатура функции, которая была обещана, не была найдена.