2015-01-27 3 views
4

В настоящее время я пытаюсь получить установку инструментальной цепочки, чтобы я мог создать проект AVR от CLion.Использование CMake с AVR Toolchain в Cygwin или MinGW

Моя отправная точка this, в частности пример Blink. Проблема в том, что он вместе с существующими примерами CMake для AVR предназначен для систем на базе Linux.

Что я пытался установить WinAVR для получения исполняемых файлов. Я изменил CMakeList.txt поэтому имена программ содержат следующее:

set(AVRCPP "C:/WinAVR-20100110/bin/avr-g++") 
set(AVRC  "C:/WinAVR-20100110/bin/avr-gcc") 
set(AVRSTRIP "C:/WinAVR-20100110/bin/avr-strip") 
set(OBJCOPY "C:/WinAVR-20100110/bin/avr-objcopy") 
set(OBJDUMP "C:/WinAVR-20100110/bin/avr-objdump") 
set(AVRSIZE "C:/WinAVR-20100110/bin/avr-size") 
set(AVRDUDE "C:/WinAVR-20100110/bin/avrdude") 
set(AVRAS "C:/WinAVR-20100110/bin/avr-as") 

При использовании среды Cygwin, CMake не проблемы найти мои компилятор, но когда я пытаюсь построить проект, АВР-GCC является передаются параметры в формате Linux.

C:/WinAVR-20100110/bin/avr-gcc.exe -o CMakeFiles/cmTryCompileExec420260872.dir/testCCompiler.c.obj -c /cygdrive/c/Users/Daniel/.clion10/system/cmake/generated/2eb381d5/2eb381d5/__default__/CMakeFiles/CMakeTmp/testCCompiler.c 
avr-gcc.exe: /cygdrive/c/Users/Daniel/.clion10/system/cmake/generated/2eb381d5/2eb381d5/__default__/CMakeFiles/CMakeTmp/testCCompiler.c: No such file or directory 

Есть ли способ иметь аргументы avr-gcc passpass в формате, с которым он может работать?

Для справки, это полный выход:

Error:The C compiler "C:/WinAVR-20100110/bin/avr-gcc" is not able to compile a simple test program. 
It fails with the following output: 
Change Dir: /cygdrive/c/Users/Daniel/.clion10/system/cmake/generated/2eb381d5/2eb381d5/__default__/CMakeFiles/CMakeTmp 
Run Build Command:/usr/bin/make.exe "cmTryCompileExec420260872/fast" 
/usr/bin/make -f CMakeFiles/cmTryCompileExec420260872.dir/build.make CMakeFiles/cmTryCompileExec420260872.dir/build 
make[1]: Entering directory '/cygdrive/c/Users/Daniel/.clion10/system/cmake/generated/2eb381d5/2eb381d5/__default__/CMakeFiles/CMakeTmp' 
/usr/bin/cmake.exe -E cmake_progress_report /cygdrive/c/Users/Daniel/.clion10/system/cmake/generated/2eb381d5/2eb381d5/__default__/CMakeFiles/CMakeTmp/CMakeFiles 1 
Building C object CMakeFiles/cmTryCompileExec420260872.dir/testCCompiler.c.obj 
C:/WinAVR-20100110/bin/avr-gcc.exe -o CMakeFiles/cmTryCompileExec420260872.dir/testCCompiler.c.obj -c /cygdrive/c/Users/Daniel/.clion10/system/cmake/generated/2eb381d5/2eb381d5/__default__/CMakeFiles/CMakeTmp/testCCompiler.c 
avr-gcc.exe: /cygdrive/c/Users/Daniel/.clion10/system/cmake/generated/2eb381d5/2eb381d5/__default__/CMakeFiles/CMakeTmp/testCCompiler.c: No such file or directory 
avr-gcc.exe: no input files 
CMakeFiles/cmTryCompileExec420260872.dir/build.make:60: recipe for target 'CMakeFiles/cmTryCompileExec420260872.dir/testCCompiler.c.obj' failed 
make[1]: Leaving directory '/cygdrive/c/Users/Daniel/.clion10/system/cmake/generated/2eb381d5/2eb381d5/__default__/CMakeFiles/CMakeTmp' 
make[1]: *** [CMakeFiles/cmTryCompileExec420260872.dir/testCCompiler.c.obj] Error 1 
Makefile:117: recipe for target 'cmTryCompileExec420260872/fast' failed 
make: *** [cmTryCompileExec420260872/fast] Error 2 
CMake will not be able to correctly generate this project. 
+0

Я боролся с созданием CMake для HC11 набора инструментов. Я разместил здесь свой вопрос: http://stackoverflow.com/questions/28228336/how-to-stop-cmake-appending-c-compiler-flags –

ответ

0

Я использую CMake и АРН на окнах и на Linux. Синтаксис тот же. Почему вы хотите использовать cygwin в середине этого?

В любом случае вы не указали свой файл toolchain. При перекрестном компиляции с использованием cmake вам необходимо предоставить файл инструментальной цепочки, где вы задаете всю конфигурацию, связанную с компилятором. Вам нужно сделать это, потому что когда cmake начинает, попробуйте скомпилировать простую программу и попытаться запустить ее. Если вы используете компилятор avr на компьютере, cmake не может запустить исполняемый файл, поэтому он не работает.

Вам необходимо поставить дополнительную заботу, включая эту команду в инструментарии,:

SET(CMAKE_SYSTEM_NAME Generic) 

это необходимо для пропустить этот сборник и поэтому, чтобы избежать неудач.

Я думаю, что это хорошо читать, с чего начать:

http://playground.arduino.cc/Code/CmakeBuild

Смежные вопросы