我希望有人能帮助我: 我尝试在jenkins服务器中使用cmake插件来创建一个hex文件,但我不知道我的错。
我也尝试运行此站点的示例:http://robot-develop.org/archives/2952但如果我使用“make”命令,则会收到以下错误消息: make:***没有指定目标,也没有找到makefile。停止
这是我的代码:
的CMakeLists.txt:
cmake_minimum_required (VERSION 2.6.0)
INCLUDE("C:/Users/name/Desktop/example/Code/test_crosscompile.cmake")
INCLUDE("C:/Users/name/Desktop/example/Code/macro.cmake")
project (Code)
MESSAGE(STATUS "\n -------------------------------->Creating Test-Projekt...")
IF( NOT CMAKE_BUILD_TYPE )
SET( CMAKE_BUILD_TYPE Release ... FORCE )
ENDIF()
SET(MAIN_FILE
class.c)
# add the executable
add_executable(Code ${MAIN_FILE})
#makro
AVR_CREATE_HEX(class)
makro.cmake:
# create avr hex
MACRO(AVR_CREATE_HEX name)
ADD_CUSTOM_COMMAND(TARGET ${name} POST_BUILD COMMAND avr-objcopy ARGS -O ihex -R.eeprom ${name} "C:/Users/name/Desktop/example/Code/class.hex")
MESSAGE(STATUS "\n ----------JONAS---------------------->Macro")
ENDMACRO(AVR_CREATE_HEX)
test_crosscompile.cmake:
SET(CMAKE_SYSTEM_NAME "Windows")
SET(CMAKE_C_COMPILER avr-gcc)
SET(CMAKE_CXX_COMPILER avr-g++)
SET(CSTANDARD "-std=gnu99")
SET(CDEBUG "-gstabs")
SET(CWARN "-Wall -Wstrict-prototypes")
SET(CTUNING "-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums")
SET(COPT "-Os")
SET(CMCU "-mmcu=atmega32")
SET(CDEFS "-DF_CPU=12000000UL")
SET(CFLAGS "${CMCU} ${CDEBUG} ${CDEFS} ${CINCS} ${COPT} ${CWARN} ${CSTANDARD} ${CEXTRA}")
SET(CXXFLAGS "${CMCU} ${CDEFS} ${CINCS} ${COPT}")
SET(CMAKE_C_FLAGS ${CFLAGS})
SET(CMAKE_CXX_FLAGS ${CXXFLAGS})
我使用cmake GUI,但我不知道如何使用它。 我尝试作为生成器visual studio 10(指定工具链文件进行交叉编译),但它不生成makefile或hex文件。 如果我选择MinGW Makefiles作为生成器,我会收到错误: C编译器“C:/WinAVR-20100110/bin/avr-gcc.exe”无法编译 一个简单的测试程序。
我希望有人可以帮助我,谢谢!
答案 0 :(得分:0)
您已将CMAKE_SYSTEM_NAME设置为Windows,您需要将其设置为通用以启用交叉编译,例如:
SET(CMAKE_SYSTEM_NAME Generic)